Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人知道使用python实现google身份验证的完整资源吗?_Python_Django_Oauth_Oauth 2.0 - Fatal编程技术网

有人知道使用python实现google身份验证的完整资源吗?

有人知道使用python实现google身份验证的完整资源吗?,python,django,oauth,oauth-2.0,Python,Django,Oauth,Oauth 2.0,以下是我想做的: 我希望能够完成“OAuth令牌舞蹈”,并获得一个访问令牌,这样我就可以使用它为用户连接到Google IMAP api 以下是我的问题: 我觉得我几乎什么都试过了。我尝试过使用GDClient、GDataService和Django Social Auth OAuth客户端,但结果仍然是空的。我遇到过这样的情况:google将构建授权url,但初始请求令牌返回为空,阻止我获得访问令牌(发生在我使用Gdata客户端时) 以下是我想要的: 关于如何使用OAuth或OAuth2.0从

以下是我想做的:

我希望能够完成“OAuth令牌舞蹈”,并获得一个访问令牌,这样我就可以使用它为用户连接到Google IMAP api

以下是我的问题:

我觉得我几乎什么都试过了。我尝试过使用GDClient、GDataService和Django Social Auth OAuth客户端,但结果仍然是空的。我遇到过这样的情况:google将构建授权url,但初始请求令牌返回为空,阻止我获得访问令牌(发生在我使用Gdata客户端时)

以下是我想要的:

关于如何使用OAuth或OAuth2.0从google获得访问令牌的完整资源/教程/示例。我很确定我可以自己完成IMAP API。我使用的是django框架,但如果有更好的选择,我愿意改用它

注意:谷歌的文档中确实有很好的信息,但我觉得现在太混乱了。因为它,我发现自己混合了OAuth和OAuth2.0

非常感谢您的帮助。我将亲自考虑任何使用OAuthor或OAuth2.0超标的谷歌认证,因为如果您使用了我所遇到的文档,您将不得不使用。

样本

def index(request):

    scopes = ['https://docs.google.com/feeds/','https://www.google.com/calendar/feeds/']  

    client = gdata.docs.client.DocsClient(source='Trinity-EmailManager-v1')
    client.ssl = True
    client.http_client.debug = True

    oauth_callback_url = settings.GOOGLE_CALLBACK_URL
    request_token = client.GetOAuthToken(
        scopes, oauth_callback_url, settings.GOOGLE_CONSUMER_KEY, consumer_secret=settings.GOOGLE_CONSUMER_SECRET)

return HttpResponse(request_token)

我还没有在django中做过,但我确实专门使用Google将OpenID补丁到了一个Pylons项目中。我刚用过。自从我建立它已经有几个月了,但我似乎记得谷歌文档和OpenID包的文档是合理的,让我通过它,尽管它花了相当多的时间克服了一些障碍。如果我没记错的话,最大的问题是让谷歌把我想要的数据还给我,这是正确设置AX请求的过程

在我使用的模型中,您设置了身份验证请求,向用户提供了一个链接,然后它会回调到您的页面。OpenID包中的consumer对象能够从Google获取重定向,然后解析它


你能再具体一点吗?您提到请求令牌是空的,我通过假设身份验证有问题来处理它。您没有收到任何回复吗?

谢谢您的回复。是的,没错,我没有得到任何回应。我编辑了我的问题,以包含我正在做的一个示例。“请求令牌”总是返回为空。我可以通过构建授权url来推进剩下的过程,但如果没有初始请求令牌,我将一事无成。我不熟悉它,但它们在Samples目录中有一些源代码,显示了执行OAuth的“a”方法。这对你有用吗?看起来他们使用了gdata.docs.service.DocsService()而不是gdata.docs.client.DocsClient(),但我不确定区别是什么。谢谢,我决定让GDataService再试一次,并且我已经使用OAuth和RSA-SHA1签名成功地通过了谷歌的身份验证。这是谷歌第一次成功地通过身份验证“GdatService GDclient”,我就是这样来到这里的。我完全感受到了你的痛苦。轻轻地说,文档是缺乏的,令人困惑。过去几天我一直在努力让这该死的东西工作,但迄今为止没有成功,任何有用的答案都将非常感谢。