2010-08-19 73 views
0

我可以使用oauth访问用户gmail帐户,并且我可以通过Google联系人API(使用AuthSub)访问用户联系人及其联系人组。对于我的应用程序,我需要这两种方法,是否有一种方法可以一次进行身份验证,以便我不需要用户通过两个单独的身份验证会话?有没有办法同时验证Gmail Oauth和Google Contacts API AuthSub?

或者有没有办法让我单独使用Gmail oAuth访问用户的联系人组?

回答

1

我不认为它是可能的,因为它看起来像authsub是一个不同的过程,需要分开处理。不过,我建议通过指定请求的“范围”参数来同时包含联系人网址和Gmail邮件,从而同时使用oauth进行身份验证。

0

我有一个类似的问题 - 抱歉提出一个旧的线程。

@benjaminlotan - 你说过“但是,我建议通过指定请求的”范围“参数来同时包含联系人网址和Gmail邮箱,以同时使用oauth进行身份验证。

究竟是如何做到这一点?

当前的代码:

// Prepare the OAuth extension 
string scope = GoogleConsumer.GetScopeUri(GoogleConsumer.Applications.Contacts); 
Global.GoogleWebConsumer.AttachAuthorizationRequest(authReq, scope); 

只能指定一个范围,我似乎无法找到一种方法来串联的URI,这样我还可以添加GoogleConsumer.Applications.Gmail到范围。

+0

对不起,想通了,他们只是被一个空间连接起来。 – PaulJ 2012-01-30 19:41:40

0

这是一个快速的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);