【问题标题】:Call google+ API with token使用令牌调用 google+ API
【发布时间】:2017-05-18 19:59:57
【问题描述】:

如何在 python 中使用访问令牌调用 Google+ API,目前我使用的是首先交换身份验证 url 然后交换凭据的流方法。

我的代码是这样的:

FLOW = OAuth2WebServerFlow(
        client_id=client id,
        client_secret=secret,
        scope=scope,
        user_agent=user_agent,redirect_uri=redirect_uri)

auth_uri = FLOW.step1_get_authorize_url()



credentials=FLOW.step2_exchange(code)


people_service = apiclient.discovery.build('people', 'v1',credentials=credentials)
connections = people_service.people().connections().list(resourceName='people/me').execute()

【问题讨论】:

    标签: python google-app-engine google-api google-plus google-oauth


    【解决方案1】:

    您需要实际访问auth_uri 网页,用户将登录并获得验证码,然后它将重定向回您的应用程序。
    在非浏览器应用程序中,您可以通过带外 (OOB) 执行此操作,并使用 redirect_uri='urn:ietf:wg:oauth:2.0:oob'print(auth_uri),将其剪切并粘贴到浏览器地址栏中并输入您的用户凭据。

    当您获得验证码时,您需要在上面的脚本中将其分配给code,例如(对于 OOB):

    code = input("Code: ")   # raw_input() in Py2
    

    那么你的其余代码就可以正常工作了。

    我会考虑查看oauthclient.<type>.Storage 模块来存储从FLOW.step2_exchange() 收到的凭据。所以你不一定需要每次都进行这种交换。

    【讨论】:

    • 是的,我知道这段代码运行良好。我需要做的是使用访问令牌调用 google api,因为我的 android 应用正在生成访问令牌,我想使用该访问令牌。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 2015-02-03
    相关资源
    最近更新 更多