API鍵の取得
以下の項目と一緒に vip@snoworange.com にメールをして下さい:
- 利用サーバー:国際(http://doit.im) または中国本土 (http://doitim.com)
- 開発者のDoit.imでのユーザー名
- 開発者のメールアドレス
- 開発者の名前/所属
- アプリ名
- アプリの詳細
- リダイレクト用URL(例, http://myapp.com/callback)
検査と承認
検査と承認の後、Doit.imから提案者にメールが届きます。
APIの利用の開始のために
UserStore.authenticate
HTTPはこちらにあります https://i.doitim.com/oauth
さらなる機能を利用できるようするために、短期の認証を作成するのにユーザー名とパスワードを使います。
パラメーター入力:
client_id
redirect_uri
response_type=code
アプリ内でブラウザを開き、以下に訪問します(例, https://i.doitim.com/oauth?client_id=53218f47acee1165829f604116c760f5&redirect_uri=http://i.doitim.com&response_type=code )
ログインとパスワードが求められます。認証した後、自動的にredirect_uri に移ります。同時に、URLに認証に成功したコードが追加されます。
access_token と refresh_tokenの交換コード
HTTP POST https://i.doitim.com/service/oauth2/token
パラメーター入力:
code
client_secret
client_id
redirect_uri
grant_type=authorization_code
例、
curl -d "code=f38c898541c4e9639de7c1014416382e&client_secret=97658ad0fec0c46afa6c2d098d4a7cb&client_id=53218f47acee1165829f604116c760f5&grant_type=authorization_code&redirect_uri=http://i.doitim.com"
https://i.doitim.com/service/oauth2/token
返信:
{
"code": "200",
"message": "success",
"type": "oauth",
"data": {
"token_type": "Bearer",
"expires_in": 7776000000,
"access_token": "e034d9a131beab9784bc220397c418fd",
"refresh_token": "a3b85cfed368848fa0db304378de6eb4",
"user_id": "50e8df830cf28e61af08198e"
}
}
refresh_token を access_token に変換
HTTP POST https://i.doitim.com/service/oauth2/token
パラメーター入力:
refresh_token
client_secret
client_id
redirect_uri
grant_type=refresh_token
例、
curl -d "refresh_token=a3b85cfed368848fa0db304378de6eb4&client_secret=976508ad0fec0c46afa6c2d098d4a7cb&client_id=53218f47acee1165829f604116c760f5&grant_type=refresh_token&redirect_uri=http://i.doitim.com" https://i.doitim.com/service/oauth2/token
返信:
{
"code": "200",
"message": "success",
"type": "oauth",
"data": {
"token_type": "Bearer",
"expires_in": 7776000000,
"access_token": "20649ac6c66fc8534c20a47009e81a2a",
"refresh_token": "a3b85cfed368848fa0db304378de6eb4",
"user_id": "50e8df830cf28e61af08198e"
}
}
タスクの作成
HTTP POST https://i.doitim.com/service/task
アプリケーションがアクセストークンを得た後、アクセストークンはDoit.im APIのHTTP認証ヘッダーのトークンに送られます。例、 (authorization: Bearer 20649ac6c66fc8534c20a47009e81a2a) ポストデータ(JSONと同様のアプリケーション/x-www-form-urlencodedになります)
{
title: タスク名,ストリング,ヌルにできない
notes: タスク詳細,ストリング,ヌルにできる
start_at: 開始時間(秒),時間は 1970/1/1から,イント,ヌルにできる
end_at: 終了時間(秒),時間は1970/1/1から,イント,ヌルにできる
all_day: 終日タスク,ブーリアン,ヌルにできない
tags: タグ,ストリングアライ ["tag1”],ヌルにできる
project: プロジェクト名,ストリング,ヌルにできる
context: コンテキスト名,ストリング,ヌルにできる
goal: 目標名,ストリング,ヌルにできる
}
タグ、プロジェクト、コンテキスト、目標の名前(もし、名前が見つからなかった場合は、新たなオブジェクトが作成されます)に従ってサーバーがデーターを見つけます。新たなオブジェクトは新たなタスクにリンクされます。タスクは収集箱に初期設定で入ります。もし、タスクに開始時間が設定させていた場合、その時間に合わせたボックスに入ります。
例、
curl -H "authorization: Bearer 20649ac6c66fc8534c20a47009e81a2a" https://i.doitim.com/service/task -d "title=test&project=new project"
返信:
{
"code": "200",
"message": "success",
"type": "task",
"data": {
"task_repeatno": "cae2faa0-84ca-11e3-b352-719b368c7bdc",
"hidden": 0,
"archived": 0,
"completed": 0,
"trashed": 0,
"deleted": 0,
"updated": 1390549227343,
"created": 1390549227338,
"usn": 16231,
"title": "test",
"uuid": "cae2faa0-84ca-11e3-b352-719b368c7bdc",
"spent_time": 0,
"estimated_time": 0,
"pos": 0,
"local_attachments": [],
"now": false,
"tags": [],
"reminders": [],
"sent_at": 0,
"priority": 0,
"project": "cae14cf0-84ca-11e3-b352-719b368c7bdc",
"end_at": 0,
"start_at": 0,
"all_day": true,
"attribute": "inbox"
}
}
エラーコード
http status code = 400
スロー
{
"error": "E102",
"code": "E102",
"message": "access_token_is_missing can not find access_token"
}
エラー
code: "E100"
message: "invalid_request_scheme (スキームからのエラー通知)"
code: "E101"
message: "invalid_request_method (メソッドからのエラー通知)"
code: "E102"
message: "access_token_is_missing (access_tokenが見つからない)"
code: "E103"
message: "invalid_access_token (access_token は存在しないか、ユーザーにより削除されている。またはユーザーがパスワード変更している)"
code: "E104"
message: "invalid_client_id (client_id は存在しないか、ユーザーにより削除されている)"
code: "E105"
message: "client_id_is_blocked (client_id has はブロックされている)"
code: "E106"
message: "access_token_has_expired (access_token は期限切れ)"
code: "E107"
message: "invalid_request_uri (リクエストされたURLは登録されていない)"
code: "E108"
message: "invalid_credencial1 (データーへのアクセス許可がない)"
code: "E109"
message: "invalid_credencial2 (client_id は許可されていない)"
code: "E110"
message: "not_trial_user (お試しユーザーは登録されていない)"
code: "E111"
message: "rate_limit_exceeded1 (アクセス速度が制限されている)"
code: "E112"
message: "rate_limit_exceeded2 (IPの訪問速度が制限されている)"
code: "E113"
message: "required_parameter_is_missing (パラメーターミス)"
code: "E114"
message: "unsupported_grant_type (grant_typeのエラー)"
code: "E115"
message: "unsupported_response_type (response_typeのエラー)"
code: "E116"
message: "client_secret_mismatch (client_secretが間違っている)"
code: "E117"
message: "redirect_uri_mismatch (redirect_uridoesが合わない)"
code: "E118"
message: "invalid_authorization_code (authorization_codeは存在しないか、期限切れ)"
code: "E119"
message: "invalid_refresh_token (refresh_tokendoesは存在しないか、期限切れ)"
code: "E120"
message: "username_password_mismatch (ユーザー名とパスワードが合わない)"
code: "E121"
message: "invalid_user (ユーザーが存在しないか、削除されている)"
code: "E122"
message: "ser_has_blocked (ユーザーはブロックされている)"
code: "E123"
message: "access_token_has_expired_since_password_changed (はユーザーがパスワードを変更したことにより期限切れ)"
code: "E124"
message: "access_token_has_not_expired (access_tokenhasは期限切れではない)"
code: "E125"
message: "invalid_request_scope (スコープの訪問は違法。この問題に特に注意を払う必要はない。通常、子のエラーは生じない)"
Didn't find what you were looking for?
Contact Us