勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

Similar documents
intra-mart Accel Platform

intra-mart Accel Platform — OAuth認証モジュール 仕様書   初版  

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

OSSTechプレゼンテーション

2 WHITE PAPER: OAUTH ca.com/jp OAuth 3 OAuth 4 OAuth 6 OAuth OAuth 8 CA API Gateway OAuth 9 OAuth Toolkit 10 CA API Gateway 2-legged OAuth 3-leg

ステップ 1:Cisco Spark にサインアップして試してみよう 1. Spark のホームページ ( で電子メールアドレスを入力し 指示に従って Spark アカウントを作成します 注 : 自身の電子メールアカウントにアクセスして Spar

QualysGuard(R) Release Notes

PowerPoint Presentation

PowerPoint プレゼンテーション

how-to-decide-a-title

PostgreSQL による クラスタ構成の可能性 SRA OSS, Inc. 日本支社 取締役支社長 石井達夫

Googleカレンダー連携_管理者マニュアル

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

WEBシステムのセキュリティ技術

初心者にもできるアメブロカスタマイズ新2016.pages

Microsoft PowerPoint - ABC_2011_1_9_yoichiro.pptx

- 2 Copyright (C) All Rights Reserved.

Web WIX WIX WIX Web Web Web WIX WIX WIX Web 3. Web Index 3. 1 Web Index (WIX), Web. Web, WIX, Web ( WIX ), URL WIX 1 entry wid eid keyword targe

はじめに インフォマート API の呼び出しには OAuth2.0 による認証を受ける必要があります OAuth2.0 を使うことで インフォマート API を利用するサービスは インフォマートプラットフォーム ID( 1 以下 PFID) とパスワードを保存したり処理したりすることなく PFID

Copyright 2017 JAPAN POST BANK CO., LTD. All Rights Reserved. 1

% 11.1% +6.% 4, % %+12.2% 54,16 6.6% EV7, ,183 Copyright 216 JAPAN POST GROUP. All Rights Reserved. 1

FUJITSU Cloud Service for OSS 認証サービス サービス仕様書

P. 2 P. 4 P. 5 P. 6 P. 7 P. 9 P P.11 P.14 P.15 P.16 P.16 P.17 P.19 P.20 P.22 P P P P P P P P P

P. 2 P. 4 P. 5 P. 6 P. 7 P. 9 P.10 P.12 P.13 P.14 P.14 P.15 P.17 P.18 P.20 P P P P P.25 P.27 P.28 Copyright 2016 JAPAN POST BA

Copyright All Rights Reserved. -2 -!

untitled

技術レポート 1)QuiX 端末認証と HP IceWall SSO の連携 2)QuiX 端末認証と XenApp の連携 3)QuiX 端末認証 RADIUS オプションと APRESIA の連携 Ver 1.1 Copyright (C) 2012 Base Technology, Inc.

IPA:セキュアなインターネットサーバー構築に関する調査

[ ][ ] HTML [ ] HTML HTML

高速 軽量メールクライアント Sylpheed の応用ソリューション 高速全文検索機能 (Sylph-searcher) メールライブラリ (LibSylph) OpenSource Conference 2009 Tokyo/Spring SRA OSS, Inc. 日本支社山本博之 Copyri

Webプログラミング演習

Microsoft Word - 最終版 バックせどりismマニュアル .docx

KS_GoogleApps_guide

Sylpheed とは オープンソースのメールソフト ライセンスは GPL+LGPL 高速 軽量 高機能 高い操作性 高い信頼性 導入が容易 マルチプラットフォーム Windows, Linux, etc. 多言語対応 ( 約 30 ヶ国語 )


ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

PowerPoint Presentation

Wiki

FUJITSU Cloud Service K5 認証サービス サービス仕様書

GRIDY SFA Google Apps カレンダー連携 操作ガイド (1.0 版 ) 2016 年 3 月 16 日 KDDI 株式会社

P. 2 P. 4 P. 5 P. 6 P. 7 P. 9 P P.11 P.13 P.15 P.16 P.17 P.17 P.18 P.20 P.21 P.23 P P P P P P P P.31

intra-mart Accel Platform

42

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

untitled

Joint Content Development Proposal Tech Docs and Curriculum

Copyright Qetic Inc. All Rights Reserved. 2

Releases080909

ホームページにパスワード認証を設定します 会員限定のページなどに利用できます 設定の手順 を設定するには 以下の手順で行います ユーザ登録 を設定したページにアクセスするためのユーザを登録します の設定 を設定するページ アクセスを許可するユーザを選択し 設定します 設定完了 を設定したページにアク

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

ArcGIS for Server での Web マップの作成方法

- 2 Copyright (C) All Rights Reserved.

Zabbix で PostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 年 11 月 20 日 SRA OSS, Inc. 日本支社マーケティング部

J-STAGE WebAPIご利用マニュアル

連絡先

PowerPoint プレゼンテーション

管理者マニュアル

第 7 回の内容 動的な Web サイト フォーム Web システムの構成

DocuWorks Mobile 障害切り分け手順書

XMLアクセス機能説明書

Oracle Cloud Adapter for Oracle RightNow Cloud Service

URL AdobeReader Copyright (C) All Rights Reserved.

<4D F736F F F696E74202D208D E9197BF FC96E582C68AE98BC682AA F08CF68A4A82B782E D835A E

健康保険組合のあゆみ_top

リバースマップ原稿2

目次 なぜAPIが注目されているのか? API 公開のライフサイクル 事例概要 Amazon API Gateway 利用のポイント APIソリューションご紹介 Copyright 2017 OGIS-RI Co., Ltd. All rights reserved. 2

TimeTracker FX Web Edition セットアップガイド目次 はじめに... 2 第 1 章 TimeTracker FX Web Edition の概要 TimeTracker FX Web Edition とは... 3 システム構成... 3

いま本文ー校了データ0822.indd

untitled

スライド 1

目次 * 本資料について * お問い合わせ * SecureAssist Enterprise Portal API 概要 APIについて API 通信の流れ * SecureAssist Enterprise Portal 各 API 説明認証プロジェクトのレポートの取得プロジェクトの一覧の取得ア

CA Federation ご紹介資料

Sinatra と MongoDB 今回は Sinatra で MongoDB の操作を体験してみます 進捗に合わせて ドライバから Ruby で使える便利な ORM の紹介をします

印刷アプリケーションマニュアル

2

SOBA ミエルカ クラウドセミナーモード 配信者マニュアル 目次 はじめに 配信者のユーザー登録について ライブ配信の作成 ライブ配信への招待 ライブ配信への参加方法... 4 (1) ライブ配信を選んで参加する方法 ( 管理者 配信

ステップ 1:APIC-EM API リソースの確認 このラボでは REST API の例として APIC-EM API を使用します 始める前に APIC-EM リソースを DevNet で確認しておく必要があります 1. ブラウザで DevNet にアクセスします Web ページの右上にある [

Contents Contents( 目次 ) 1 重要 編集の際の注意事項 2 編集可能なページ 部分 3 トップページ 4 トップFlashの内容変更 ( 画像変更 ) 5 トップFlashの内容変更 ( 設定変更 ) 6 おすすめ情報 ( カタログギフト等 ) 7 サイドバー バナー部分 8

SeciossLink クイックスタートガイド

履歴 作成日 バージョン番号 変更点 2016 年 9 月 19 日 新システム稼働本マニュアル ( 初版 ) 2016 年 10 月 6 日 システム公開に伴う 初版最終調整 2016 年 11 月 7 日 添付ファイルの公開設定について 追加 2

PowerPoint プレゼンテーション

OSSTechプレゼンテーション

Copyright 2017 JAPAN POST BANK CO., LTD. All Rights Reserved. 1

第2回_416.ppt

Active! mail 6 操作マニュアル 株式会社トランスウエア Copyright TransWare Co. All rights reserved.

スライド 1

P. 2 P. 4 P. 5 P. 6 P. 7 P. 8 P. 9 P P.11 P.13 P.15 P.16 P.17 P.17 P.18 P.20 P.21 P.23 P P P P P P P.30 16

intra-mart Accel Collaboration — Collaboration共通 ユーザ操作ガイド   第7版  

SAML認証

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

PowerPoint プレゼンテーション

リクエストの内容は以下のとおりです 実行する API オペレーションの名前 ( METHOD=name で指定 ) と そのバージョン 注 : METHOD パラメータの後に 任意の順でパラメータを指定できます リクエストを生成した PayPal アカウントを識別する信用証明書 実行する API オ

3. クラスリンク ( 先生の IP アドレス >:< ポート >) を生徒と共有して生徒がブラウザーから接続できるようにします デフォルトのポート番号は 90 ですが これは [Vision 設定 ] から変更できます Netop Vision Student アプリケーションを使

商用監視ソフトウェアユーザの Zabbix 移行へ朗報 Zabbix Event Viewer のご紹介 【本邦初公開】

MoodleGradeImport4Web.pptx

Transcription:

Google API 勉強会 SRA OSS, Inc. 日本支社山本博之 2010 年 12 月 13 日

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

Sylpheed Pro 2.0 Sylpheed + Sylpheed Pro アドオンメール全文検索スケジューラ デスクトップ検索 DB に PostgreSQL 9.0 を利用 スケジューラ に Google カレンダー同期機能を搭載 curl コマンドを利用して実装 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 3

Google API の概要 データの形式は Atom (XML) ベースデータの通信は HTTP / HTTPS Google の各種サービスに対してAPIを提供 : Google カレンダー Google ドキュメント Google マップ Picasa Web アルバム YouTube... Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 4

Google Data API どのサービスの API も Google Data API に基づく データの問い合わせ 追加 更新などを XML で表現し HTTP で送信する XML で送られてきたレスポンスを受け取り 解析する 基本的にはこれだけ Java, JavaScript,.NET, PHP, Python, Objective-C については Google がライブラリを提供 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 5

Google API の認証方法 ClientLogin : クライアントアプリケーションで使用 AuthSub : Webアプリケーションで使用 OAuth : クライアント Webアプリから使用可能 オープンな規格 (Twitter 等でも利用 ) Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 6

ClientLogin による認証 ユーザ ID とパスワードを送信 ( サービスによっては CAPTCHA 要求 ) トークン文字列が返ってくる (Auth=...) 以降 このトークンを使ってデータを要求 ClientLogin のメリット : 毎回認証する必要がないので性能が向上するセキュリティのリスクが軽減される Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 7

ClientLogin の認証プロセス Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 8

curl で ClientLogin 認証 curl https://www.google.com/accounts/clientlogin \ -d Email=hogehoge@gmail.com \ -d Passwd=password \ -d source=sraoss-sylpheed-2.0 \ -d service=cl Google カレンダーを指定 結果 : SID=DQAAAHYBADCv2pSv7nflac... LSID=EUBBBIaBADCl-kNxvRVmc... Auth=EUBBIacAAADK-kNxvRVmc... これを使う Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 9

認証後のトークンの使い方 curl --header \ "Authorization: GoogleLogin auth=eubbiac..." \ http://www.google.com/calendar/feeds/default/private/f ull Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 10

Google カレンダーのデータを取得 http://www.google.com/calendar/feeds/default/privat e/basic ( デフォルトのカレンダー ) http://www.google.com/calendar/feeds/< カレンダー ID>/private/basic ( カレンダー ID を指定 ) http://www.google.com/calendar/feeds/< カレンダー ID>/private-<magic>/basic ( 認証なしで取得可能 ) http://www.google.com/calendar/ical/< カレンダー ID>/private-<magic>/basic.ics (icalendar 形式 ) マイカレンダー 対象 カレンダー設定 限定公開 URL Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 11

デフォルトのカレンダーを取得する curl --header \ "Authorization: GoogleLogin auth=< トークン >" \ http://www.google.com/calendar/feeds/default/private/full Moved Temporarily が返ってくるので URL を転送先に変えて再度実行 curl --header \ "Authorization: GoogleLogin auth=< トークン >" \ http://www.google.com/calendar/feeds/default/private/full? gsessionid=cpwkjb-7x6neabc2qjzna Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 12

取得したカレンダーのデータ ( 抜粋 ) <?xml version='1.0' encoding='utf-8'?> <feed xmlns='http://www.w3.org/2005/atom' xmlns:opensearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:gcal='http://schemas.google.com/gcal/2005'> <id>http://www.google.com/calendar/feeds/default/private/basic</id> <updated>2010-11-30t13:24:58.000z</updated> <title type='text'>hiroyuki Yamamoto</title> <subtitle type='text'>hiroyuki Yamamoto</subtitle> <author><name>hiroyuki Yamamoto</name><email>hiroyuki.yamamoto@gmail.com</email></author> <generator version='1.0' uri='http://www.google.com/calendar'>google Calendar</generator> <entry> <id>http://www.google.com/calendar/feeds/default/private/basic/r5vgs23iigbum19em3j00icajo</id> <published>2010-11-30t13:24:57.000z</published> <updated>2010-11-30t13:24:57.000z</updated> <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/g/2005#event'/> <title type='html'> 予定タイトル </title> <summary type='html'> 期間 : 2010/12/04 (&#22303;) 11:00~12:00</summary> <content type='html'> 期間 : 2010/12/04 ( 土 ) 11:00~12:00</content> <author><name>hiroyuki Yamamoto</name><email>hiroyuki.yamamoto@gmail.com</email></author> </entry> </feed> Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 13

カレンダーデータの構造 <feed> フィードに関する情報... <entry> <id> エントリの ID</id> エントリの情報... </entry> <entry>... </entry> </feed> Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 14

ID (UID) について <id>http://www.google.com/calendar/feeds/default/private/basic/r 5vgs23iigbum19em3j00icajo</id> 特定の予定を識別するための ID 予定の取得 更新 削除のときに使用する Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 15

カレンダーに予定を追加 1. 以下の内容の XML ファイルを UTF-8 で作成する <entry xmlns='http://www.w3.org/2005/atom' xmlns:gd='http://schemas.google.com/g/2005'> <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/g/2005#event' /> <title type='text'> 予定の名前 </title> <content type='text'> 予定の詳細 </content> <gd:transparency value='http://schemas.google.com/g/2005#event.opaque'> </gd:transparency> <gd:eventstatus value='http://schemas.google.com/g/2005#event.confirmed'> </gd:eventstatus> <gd:where valuestring=' 予定の場所 '></gd:where> <gd:when starttime='2010-12-14t09:00:00.000z' endtime='2010-12-14t11:00:00.000z'></gd:when> </entry> 入力が面倒な方は以下から取ってください : http://sylpheed.sraoss.jp/tmp/study-entry.xml Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 16

各要素の意味 <entry> <title type='text'> 予定の名前 </title> <content type='text'> 予定の詳細 </content> <gd:transparency 予定ありとして見えるかどうか /> <gd:visibility 公開するかどうか (public/private) /> <gd:where valuestring=' 予定の場所 ' /> <gd:who email='...' valuestring=' 参加者 ' /> <gd:when starttime=' 開始時刻 ' endtime=' 終了時刻 ' /> ( <gd:recurrence> 繰り返し予定 </gd:recurrence> ) </entry> Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 17

カレンダーに予定を追加 2. POST メソッドで HTTP リクエストを投げる curl --request POST \ --header "Expect:" \ --header "Content-Type: application/atom+xml" \ --header \ "Authorization: GoogleLogin auth=< トークン >" \ --data-binary "@path/to/study-entry.xml" \ http://www.google.com/calendar/feeds/default/private/f ull Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 18

その他の操作 予定の更新 ID を指定して予定を取得する http://www.google.com/calendar/feeds/calendarid/events /entryid 取得した XML の内容を編集する 予定の URL に PUT リクエストで XML を送信する 予定の削除上記と同じ URL に DELETE リクエストを送信する Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 19

JSON-C 形式 その他 Atom XML 形式の代わりに JSON-C という形式が使える XML に比べて人間が読みやすい URL に alt=jsonc クエリパラメータを追加する { "data": { "title": "Tennis with Beth", "details": "Meet for a quick lesson.", "transparency": "opaque", "status": "confirmed", "location": "Rolling Lawn Courts", "when": [ { "start": "2010-04-17T15:00:00.000Z", "end": "2010-04-17T17:00:00.000Z" } ] } } Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 20

その他 バッチ処理一回のリクエストで複数の処理をまとめて高速に行えるクエリ 追加 更新 削除 XML のみで利用可能 (JSON-C では使えない ) <feed> </feed> <entry> </entry> <entry> </entry> <batch:id>insert01</batch:id> <batch:operation type='insert' />... <batch:id>update01</batch:id> <batch operation type='update' />... Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 21

参考 URL Google カレンダーの API とツール http://code.google.com/intl/ja/apis/calendar/ Data API Developer's Guide http://code.google.com/intl/ja/apis/calendar/data/2.0/develo pers_guide.html Protocol Guide, Atom Reference Google Data API http://code.google.com/intl/ja/apis/gdata/index.html Using curl to interact with Google Data services http://code.google.com/intl/ja/apis/gdata/articles/using_curl.html Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 22

Sylpheed 参考 URL http://sylpheed.sraoss.jp/ Sylpheed Pro http://www.sraoss.co.jp/sylpheed-pro/ Twitter ( 個人 ) http://twitter.com/hiro_sylpheed Sylpheed Pro 公式 Twitter http://twitter.com/sylpheed_pro Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 23

本資料の URL http://sylpheed.sraoss.jp/tmp/google_api_study.pdf Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 24