使用Google账户登陆(Oauth版)

首先要申请CONSUMER_KEY和CONSUMER_SECRET,申请地址:https://www.google.com/accounts/ManageDomains

OAuth验证第一步:Get a Request Token.
这个Request Token是请求一个令牌,来允许程序接入google的服务。具体做法是发送一个HTTP GET请求到https://www.google.com/accounts/OAuthGetRequestToken,并且在HTTP头里有一个Authorization字段,字段里的内容是OAuth开头,加一个空格,然后是每个参数join一个“,”和空格。此外google的OAuth还有一个SCOPE参数,这个不是标准OAuth里的。
最后注意端口是443,不然会收到一个302;如果程序有问题会收到一个400。如果是200,则在返回的HTTP BODY里取得$oauth_token,$oauth_token_secret保存好这两个值,下两步要用到。

第二步是用户操作部分,需要用户授权应用访问GOOGLE相关服务。
也就是redirect到 www.google.com/accounts/OAuthAuthorizeToken?oauth_token=刚才的KEY,获取用户联系人列表的scope是https://www.google.com/m8/feeds/,用户允许Access后就会跳转回刚才的页面,并且在URL参数里多了一个参数。

第三步是凭刚才URL里验证的参数发送一个GET请求到https://www.google.com/accounts/OAuthGetAccessToken,获取接入GOOGLE服务的权限,HEADER里仍旧要包含Authorization字段。得到KEY和SECRET后替换刚才一开始的KEY和SECRET,发送GET请求到 获取用户联系人的scope(https://www.google.com/m8/feeds/contacts/default/thin),max-results参数代表获取联系人的个数,返回的XML包含<id>为邮箱,<title>里面含有用户名,其中第一条记录就是用户本人的信息。

详细的技术文档在这里 http://code.google.com/apis/accounts/docs/OAuth_ref.html

 

参考地址:
http://dev.meettea.com/show-53-1.html
http://code.google.com/apis/accounts/docs/OAuth_ref.html
http://code.google.com/apis/gdata/faq.html#AuthScopes
http://adaishu.blog.163.com/blog/static/17583128620114974952393/

google帳戶登錄oauth版示例代碼