障害・意見報告  | About  | FAQ  | ヘルプ

loglyカレンダーWebサービスAPI

 APIに関して

 loglyカレンダーWebサービスAPIは、loglyカレンダーのご自身の各ログ(スケジュールや日記など)を操作することが可能なAPIです。 APIを利用することで、ウェブサービスやアプリケーションから、ログを、参照、登録、更新、削除することが可能になります。本APIはAtom http://www.ietf.org/html.charters/atompub-charter.html を利用しています。

◆APIの実装に関して
 Atomはウェブリソースを操作するためのプロトコル仕様です。本APIは、現時点で、RESTをサポートしており、ログの登録、更新、削除、参照が可能になっています。基本的な操作は、特定のリクエストURIに対して、HTTPのGET、POST、PUT、DELETEを行い、一部のリクエストに対して規定のXMLを送信することで、操作することが可能です。

◆バージョン
1.0

 利用手順

 WebサービスAPIを利用するには、あらかじめAPIキーを取得する必要があります。
loglyカレンダーにログイン後、[管理・設定]>[Webサービス]からAPIキーを取得してください。
 APIキーはいつでも変更することが可能ですが、変更した場合には、対応するアプリケーションも変更する必要があります。

APIキーを確認する

 ログの参照

◆リクエストURI
① http://logly.jp/lws/1.0/[userid-apikey]/object?[parameter]=[value]
② http://logly.jp/lws/1.0/[userid-apikey]/object/[id]

[userid-apikey]は適宜変更してください。
userid ログインユーザID
apikey APIキー([管理・設定]>[Webサービス]から取得可能)

[id]はログ毎の識別IDを指定します
①はログのリストを取得するために利用し、②は特定のログを取得するために利用します。

例えば、ユーザIDがtestuser、APIキーが7ee25f2e20498...のとき、リクエストURIは以下のようになります。
(ユーザIDとAPIキーの間には半角ハイフン(-)が必要です。)
http://logly.jp/lws/1.0/testuser-7ee25f2e20498.../object

◆HTTPメソッド
GET

◆パラメータ
[parameter]=[value]には必要であればパラメータを指定します。
ログは最大30件ずつ取得します。
項目名 フィールド名 必須 デフォルト 備考
種別 type - object object(すべて)
schedule(スケジュール) ※同時にイベントとグループスケジュールも取得されます。
diary(日記)
album(アルバム)
memo(メモ)
life(ライフログ)
group-schedule(グループスケジュール)
event(イベント)
goal(目標)
ical(iCal)
log(ログ)
log::[user_log](カスタムログ)
開始日時 start - 指定なし YYYY/MM/DD/hh:mm により指定(/hh:mmは省略可能)
終了日時 end - 指定なし YYYY/MM/DD/hh:mm により指定(/hh:mmは省略可能)
オフセット offset - 0 0以上の整数
最大30件のみ取得可能、それ以外はoffsetを指定し次のログを取得可能


◆レスポンス
リクエストが正常に処理された場合、ステータスコードとして200が戻ってくるとともに、以下の結果がXMLで返ってきます。

① ログのリスト結果
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:logly="http://logly.jp/lws/1.0/xmlns">
  <title>Entries for [testuser]</title>
  <link rel="next" href="http://logly.jp/lws/1.0/testuser-7ee25f2e20498.../object?offset=4" />
  <link rel="previous" href="http://logly.jp/lws/1.0/testuser-7ee25f2e20498.../object?offset=0" />
  <entry>
    <title>早起きする</title>
    <link rel="edit" href="http://logly.jp/lws/1.0/testuser-7ee25f2e20498.../
      object/07062f2099d6f932aa5c8ba5d32a3cb8" />
    <link rel="related" href="http://www.logly.co.jp/" />
    <category term="生活" />
    <author>
      <name>testuser</name>
    </author>
    <id>07062f2099d6f932aa5c8ba5d32a3cb8</id>
    <updated>2007-01-25T04:27:33Z</updated>
    <published>2007-01-25T04:27:33Z</published>
    <content type="text">早起きする</content>
    <logly:when allday="true">
      <logly:start>2007-01-09T00:00:00.000+09:00</logly:start>
      <logly:end>2007-01-09T00:00:00.000+09:00</logly:end>
    </logly:when>
    <logly:publish level="private" />
    <logly:type>memo</logly:type>
  </entry>
  <entry>
    <title>進捗会議</title>
    <link rel="edit" href="http://logly.jp/lws/1.0/testuser-7ee25f2e20498.../
      object/a4282761d46aabd59a4ca148514df3de" />
    <category term="会社" />
    <author>
      <name>testuser</name>
    </author>
    <id>a4282761d46aabd59a4ca148514df3de</id>
    <updated>2007-01-25T04:21:31Z</updated>
    <published>2007-01-22T14:45:56Z</published>
    <content type="text">プロジェクトの進捗会議。</content>
    <logly:when allday="true">
      <logly:start>2007-01-10T00:00:00.000+09:00</logly:start>
      <logly:end>2007-01-10T00:00:00.000+09:00</logly:end>
    </logly:when>
    <logly:publish level="private" />
    <logly:type>diary</logly:type>
  </entry>
</feed>
						

② [id]を指定した場合
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:logly="http://logly.jp/lws/1.0/xmlns">
<entry>
    <title>進捗会議</title>
    <link rel="edit" href="http://logly.jp/lws/1.0/testuser-7ee25f2e20498.../object/
      a4282761d46aabd59a4ca148514df3de" />
    <link rel="related" href="http://www.logly.co.jp/" />
    <category term="会社" />
    <author>
      <name>testuser</name>
    </author>
    <id>a4282761d46aabd59a4ca148514df3de</id>
    <updated>2007-01-25T04:21:31Z</updated>
    <published>2007-01-22T14:45:56Z</published>
    <content type="text">プロジェクトの進捗会議。</content>
    <logly:when allday="true">
      <logly:start>2007-01-10T00:00:00.000+09:00</logly:start>
      <logly:end>2007-01-10T00:00:00.000+09:00</logly:end>
    </logly:when>
    <logly:publish level="private" />
    <logly:type>diary</logly:type>
  </entry>
</feed>
						
各フィールドの説明
分類 項目 フィールド名 説明
全体情報 ※ タイトル title 取得したカレンダーのタイトル
前後ログへのリンク link rel="next"、rel=”previous”属性は次および前の30件、
リクエスト先はhref属性
個別情報(entry) タイトル title ログのタイトル
ログ識別URL link rel="edit"属性はログ毎の識別URL
href属性でURLを取得
関連リンク link rel="related"属性はログの関連リンクのURL
href属性でURLを取得
タグ category term属性にタグを指定
作成者 author 子要素のnameは作成者ユーザID
ID id ログごとの識別ID
作成日 published ログの作成日
更新日 updated ログの更新日
内容 content ログの内容
開始日時および終了日時 logly:when allday属性は終日フラグ
子要素は以下の通り
logly:startは開始日時
logly:end終了日時
公開レベル logly:publish private(プライベート)
group(グループ)
public(パブリック)

groupの時、子要素のlogly:groupは公開先のグループ番号
種別 logly:type schedule(スケジュール)
diary(日記)
album(アルバム)
memo(メモ)
life(ライフログ)
group-schedule(グループスケジュール)
event(イベント)
goal(目標)
ical(iCal)
log(ログ)
log::[user_log](ユーザ定義ログ)
※全体情報はログをリストで取得する場合のみ

 ログの登録

◆リクエストURI
http://logly.jp/lws/1.0/[userid-apikey]/object

◆HTTPメソッド
POST

◆リクエストする内容
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:logly="http://logly.jp/lws/1.0/xmlns">
  <entry>
      <title>会議</title>
      <category term="会社" />
      <link rel="related" href="http://www.logly.co.jp/" />
      <content type="text">進捗の打ち合わせ会議。</content>
      <logly:when allday="false">
           <logly:start>2007/03/07/10:00</logly:start>
          <logly:end>2007/03/07/11:30<logly:end>
      </logly:when>
      <logly:publish level="private" />
      <logly:type>schedule</logly:type>
  </entry>
</feed>
						
各フィールドの説明
項目名 フィールド名 必須 デフォルト 備考
タイトル title -
タグ category - 空白 term属性にタグを指定
関連リンク link - 空白 rel="related"属性はログの関連リンクのURL
href属性でURLを取得
内容 content 空白 type=”text”属性を付けること
開始日時、終了日時 logly:when - allday属性は終日フラグ
子要素は以下の通り
logly:startは開始日時
logly:end終了日時

日時は以下のフォーマットで指定可能
yyyy/MM/dd/HH:mm
yyyy/MM/dd HH:mm
yyyy-MM-dd-HH:mm
yyyy-MM-dd HH:mm
yyyy/MM/dd
yyyy-MM-dd
公開レベル logly:publish - private(プライベート)
group(グループ)
public(パブリック)

groupの時、子要素のlogly:groupで公開先のグループ番号を指定
種別 logly:type - 現時点では以下の種別のみ登録可能
schedule(スケジュール)
diary(日記)
memo(メモ)
log(ログ)
log::[user_log](ユーザ定義ログ)


◆レスポンス
登録が正常に完了した場合は、ステータスコードとして201を返します。また、同時に登録されたログのエントリーをXMLで返します。

◆カスタムログの作成
 登録時に種別でlog::[user_log]を利用すると、自分で個別に種類を作成することができます。[user_log]には、お好きな文字列を指定します。
 例えば、体重を登録したい場合、種別にlog::weightと指定すると、新たに種別が作成されます。log::[user_log]を利用することで、ユーザ定義のログをカレンダーに登録することができるようになります。

 ログの更新

◆リクエストURI
http://logly.jp/lws/1.0/[userid-apikey]/object/[id]

[id]にはログごとの識別IDが割り当てられます。
更新用のURLは参照時に取得したレスポンスの各ログのエントリーのリンク(link)から取得することができます。

◆HTTPメソッド
PUT

◆リクエストする内容
PUTするXMLは、登録時のXMLと同じです。

◆レスポンス
更新が正常に完了した場合は、ステータスコードとして200を返します。また、同時に登録されたログのエントリーをXMLで返します。

 ログの削除

◆リクエストURI
http://logly.jp/lws/1.0/[userid-apikey]/object/[id]

[id]にはログごとの識別IDが割り当てられます。
更新用のURLは参照時に取得したレスポンスの各ログのエントリーのリンク(link)から取得することができます。

◆HTTPメソッド
DELETE

◆レスポンス
削除が正常に完了した場合は、ステータスコードとして200を返します。