2011年6月12日星期日

  脚本方式获取Google ClientLogin Auth Token

在开发基于Google服务的应用程序中,有很多的情况都需要获取Auth Token。

本文编写了一个简单的shell脚本文件,可方便程序开发人员快速的获取到Auth Token来调试程序。

 

本示例程序获取的Googel服务为ah,即Google App Engine,如果需要获取其他服务的token,只要修改脚本中的 service=ah 为自己的服务即可。

 

Google 常用服务和Service Name 对照表

 

Google API Service name Google Analytics Data APIs analytics Google Apps APIs
(Domain Information & Management) apps Google Base Data API gbase Google Sites Data API jotspot Blogger Data API blogger Book Search Data API print Calendar Data API cl Google Code Search Data API codesearch Contacts Data API cp Documents List Data API writely Finance Data API finance Gmail Atom feed mail Health Data API health
weaver (H9 sandbox) Maps Data APIs local Picasa Web Albums Data API lh2 Sidewiki Data API annotateweb Spreadsheets Data API wise Webmaster Tools API sitemaps YouTube Data API youtube

 

Google Service 评测请参照 Google Account Service Names(Google员工Tony Ruscoe

 

脚本代码如下(get_auth_token.sh):

 

#!/bin/sh# Get user emailread -p "Email: " EMAIL# Get user passwordstty -echoread -p "Password: " PASSWORD; echo >&2stty echo# check and download cacert fileCACERTFILE="/tmp/cacert.pem"if [ ! -f "$CACERTFILE" ]; then  wget http://curl.haxx.se/ca/cacert.pem -O $CACERTFILEelse  echo "cacert exist!!!"fi# Get a user auth tokenecho Getting token from https://www.google.com/accounts/ClientLogin ... >&2AUTH=$(CURL_CA_BUNDLE=$CACERTFILE \	curl -S --location \	https://www.google.com/accounts/ClientLogin \	-d Email=$EMAIL \	-d Passwd=$PASSWORD \	-d accountType=HOSTED_OR_GOOGLE \	-d source=carey \	-d service=ah \	--header 'Content-Type:application/x-www-form-urlencoded' \	2>/dev/null \	| awk -F= '$1 ~ /Auth/ {print $2}')if [ -z "${AUTH}" ]; then  echo "Auth error" >&2  exitelse  echo "Auth="$AUTHfi

 

程序使用如下:

$ ./get_auth_token.sh

  Email:            输入自己的Google帐号

  Password:    输入自己的Google密码

  Auth=DQAAALIAAABNfSYKsytsIx_vzFOG_iHVO4Zv8su6hyn-5cTCtObnLTd1X8K0TDoNC5zdRZTg2NQtn6S47Jw1t3ZfE2J

  qDhR_x4KezoWYufUloCVA_pkC3g1vAcy6KIGcqiSH2hecJa5UH9yuURyF7_ODS6ysjYZ0JC9WnuF3vsx_9mO4xFGOGtyw

  xMYfGC-j801I1Pna0AJ48T-lCeU1yEiTyUUsLPVszWrvg5ae4BPOtTaZxD_lU4lJhYAXtvLNN1ZGdLJ_huI

最后可以利用获取到的Auth Token来访问google的服务了。



本文是使用 Carey Blog润物无声 进行同步发布的 原文地址: http://www.zhourunsheng.com/articles/2011/06/12/1307868929953.html

没有评论:

发表评论