サンプルコード
トークンの取得からユーザ情報取得までの一連の流れのサンプルコードです。
Rubyを使用したサンプルです。以下のコードをirbで実行してください。
Clientオブジェクトを作成します。
client_idおよびclient_secretはAPIの利用を申し込まれた際にご提供します。
require 'oauth2'
client_id = "xxxxxxxxclient_idxxxxxxxxxx"
client_secret = "xxxxxxxxxxclient_secretxxxxxxxxxxxxx"
client = OAuth2::Client.new(client_id, client_secret, :site => 'https://www.co-meeting.com')
認証コードを返すリダイレクトURLを作成します。
リダイレクトURLは実際のアプリでは作成するアプリケーションのURLを指定します。「urn:ietf:wg:oauth:2.0:oob」はテスト用のURLで、リダイレクトせず画面に認証コードを表示します。
p client.auth_code.authorize_url(:redirect_uri => 'urn:ietf:wg:oauth:2.0:oob')
=> "https://www.co-meeting.com/oauth/authorize?response_type=code&client_id=xxxxxxxxclient_idxxxxxxxxxx&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob"
返ってきたURLにブラウザからアクセスすると、co-meetingのログイン画面が表示されます。ログインすると、Authorization Codeが表示されます
Authorization Codeを使ってトークンを取得します。
p client.auth_code.get_token('xxxxxxxxxauthorization_codexxxxxxxxxxxx', :redirect_uri => 'urn:ietf:wg:oauth:2.0:oob').token
=> "xxxxxxxxxxxxxxxaccess_tokenxxxxxxxxxxxx"
アクセストークンを使って、APIを実行します。
p OAuth2::AccessToken.new(client, "xxxxxxxxxxxxxxxaccess_tokenxxxxxxxxxxxx").get('/api/v1/users/me').body
=> {
"status": "success",
"result": {
"id": "5181ff054cfad1288b00000e",
"name": "Test User 3",
"screen_name": "test_user_3",
"icon_url": "http://www.co-meeting.com/images/mtg/unknown.jpg",
"last_accessed_at": null,
"email": "test_user_3@example.com",
"lang": "en",
"time_zone": null
}
}