チップス

Gmail の Google API を使ってみました


Gmail の APIを使って何か面白い事が出来ないかなぁと思いついたけど、まず Google API についてほとんどわかっていなかったので google で一生懸命検索しました。
What is the service name in ClientLogin for each Data API?で、ザクッとどのくらいサービスがあるかを確認するところから始まりました。

cURLとは?

 cURL (Client URL Library) は、プログラムやコマンドラインからアクセスできる Webブラウザのようなものです。cURL を使うと FTP や HTTP などのプロトコルを通じて外部サーバーとアクセスし、ファイルのダウンロードやアップロードなどを行うことができます。 cURL は Cookie やプロキシ、SSL、各種の認証機構などもサポートしています。

cURL をコマンドラインで使う

$ curl http://hoge.com

gmail.com から Authを取得

curl -s https://www.google.com/accounts/ClientLogin \
-d Email=hoge@hoge.com \
-d Passwd=hogepasswd \
-d accountType=GOOGLE \
-d source=mail \
-d service=mail | grep ^Auth= | sed 's/^Auth=//'


DQAAAOkAAACXdPYOAHDyn5AUX0hQhzIbrVZrd6cvWa-OwS-K07Ux628w_giNu05nd3EEPrw7VVnn8nD2q277VLg1a1IsD8-otxIOeSygP-WqEHlnNKLF-DERURMv2jvsqJwSLc0tcYWozUzdxSjyc0KDHNsr8mt3755Vv1vxtf3ATBUq3tnvRJl-1P9pUNsbKmDi0_HRr_BQ9sgSlh21FxApFLWpQOi9bB5MESqQxnKC4hA6Sk6EyKNQrpC9IZkbCTiTNl2tPb4bj8QLQvYwWjoHiGHMRjxZBOn0UpPGjAdBBG50pXuPrZtpmE6-9Gw0s-vmhRm0Ip0

curl -u hoge@hoge.com:hogepass --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '' '{for (i=2; i<=NF; i++) {print $i}}' | sed -n "s/\(.*\)<\/title.*name>\(.*\)<\/name>.*/\2 - \1/p"</pre>
<h3>Gmail の Google APIs </h3>
<p><b>Gmail ATOM Feeds</b><br />
 Gmail の受信トレイや特定のラベルの内容を取得する Atom フィード。<br />
<b>Gmail Greasemonkey API</b><br />
 Firefox の Greasemonkey を使って Gmail を拡張できる。<br />
<b>Google Contacts Data API</b><br />
 Gmail のコンタクト情報(住所録)の取得や更新などが行える。グループの管理も可能。最近では他のサービスでもこのコンタクト情報が利用されている。</p>
<h3>cURL を使って gmail から読み出す</h3>
<table cellpading="3">
<tr>
<td>
curl -u hoge@hoge.com:hogepasswd --silent "https://mail.google.com/mail/feed/atom"
</td>
</tr>
</table>
<pre lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
<title>Gmail - Inbox for hoge@hoge.com
New messages in your Gmail Inbox
43

2012-06-02T10:52:28Z

【Smart-C通信】新着案件情報や停止案件情報など
Smart-C通信(2011/07/04号 ...

2011-07-04T11:50:25Z
2011-07-04T11:50:25Z
tag:gmail.google.com,2004:9993404110060528187

Smart-C事業部
media_info@smart-c.jp


【Smart-C通信】新着案件情報や停止案件情報など
Smart-C通信(2011/06/08号 ...

2011-06-08T09:37:06Z
2011-06-08T09:37:06Z
tag:gmail.google.com,2004:9991040200740104742

Smart-C事業部
media_info@smart-c.jp


参考URL 感謝です。

PHP で Google Apps の OAuth 認証を使う
gmail-greasemonkey
Gmailフィードのまとめ
curlを使ってコマンドラインからGDataにログインし、picasaに画像をアップロードする
curlやwgetでGoogle Data Serviceの認証を受ける
Gmailを拡張する「Gmail Contextual Gadget」の作り方
Check your unread Gmail from the command line
Using cURL to interact with Google Data services
What is the service name in ClientLogin for each Data API?


   チップス