我可以使用oauth访问用户gmail帐户,并且我可以通过Google联系人API(使用AuthSub)访问用户联系人及其联系人组。对于我的应用程序,我需要这两种方法,是否有一种方法可以一次进行身份验证,以便我不需要用户通过两个单独的身份验证会话?有没有办法同时验证Gmail Oauth和Google Contacts API AuthSub?
或者有没有办法让我单独使用Gmail oAuth访问用户的联系人组?
我可以使用oauth访问用户gmail帐户,并且我可以通过Google联系人API(使用AuthSub)访问用户联系人及其联系人组。对于我的应用程序,我需要这两种方法,是否有一种方法可以一次进行身份验证,以便我不需要用户通过两个单独的身份验证会话?有没有办法同时验证Gmail Oauth和Google Contacts API AuthSub?
或者有没有办法让我单独使用Gmail oAuth访问用户的联系人组?
我不认为它是可能的,因为它看起来像authsub是一个不同的过程,需要分开处理。不过,我建议通过指定请求的“范围”参数来同时包含联系人网址和Gmail邮件,从而同时使用oauth进行身份验证。
我有一个类似的问题 - 抱歉提出一个旧的线程。
@benjaminlotan - 你说过“但是,我建议通过指定请求的”范围“参数来同时包含联系人网址和Gmail邮箱,以同时使用oauth进行身份验证。
究竟是如何做到这一点?
当前的代码:
// Prepare the OAuth extension
string scope = GoogleConsumer.GetScopeUri(GoogleConsumer.Applications.Contacts);
Global.GoogleWebConsumer.AttachAuthorizationRequest(authReq, scope);
只能指定一个范围,我似乎无法找到一种方法来串联的URI,这样我还可以添加GoogleConsumer.Applications.Gmail到范围。
这是一个快速的python示例(你没有写出你正在使用的语言),希望它有帮助!
def GetAuthSubUrl(next):
oauthURL = urlparse(next)
oauthURL = oauthURL.scheme + '://' + oauthURL.netloc + oauthURL.path + "oauth"
scope = ['https://picasaweb.google.com/data/', 'https://www.google.com/m8/feeds/']
secure = False
session = True
gd_client = gdata.photos.service.PhotosService()
return gd_client.GenerateAuthSubURL(oauthURL, scope, secure, session);
对不起,想通了,他们只是被一个空间连接起来。 – PaulJ 2012-01-30 19:41:40