1

Django プロジェクトに Google OAuth2 用のpython-social-authライブラリを実装し、それを使用してユーザーを正常にログインさせることができました。ライブラリは、access_tokenGoogle の OAuth2 フローの応答で受信した を保存します。

私の質問は次のとおりです: google-api-python-client のcredentials使用は、オブジェクトの作成と承認に依存してserviceいるようです。

...
# send user to Google consent URL, get auth_code in response

credentials = flow.step2_exchange(auth_code)
http_auth = credentials.authorize(httplib2.Http())

from apiclient.discovery import build
service = build('gmail', 'v1', http=http_auth)

# use service for API calls...

私は python-social-auth によって提供されたものから始めているので、将来の API 呼び出しのためaccess_tokenに API クライアントを作成して承認するにはどうすればよいですか?service

編集:明確にするために、上記のコードはGoogleが提供する例からのものです。

4

3 に答える 3

5

OAuth2 アクセス トークンが既にある場合は、AccessTokenCredentialsクラスを使用できます。

oauth2client.client.AccessTokenCredentials クラスは、他の方法ですでにアクセス トークンを取得している場合に使用されます。Flow オブジェクトを使用せずに、このオブジェクトを直接作成できます。

例:

import httplib2
from googleapiclient.discovery import build
from oauth2client.client import AccessTokenCredentials

credentials = AccessTokenCredentials(access_token, user_agent)
http = httplib2.Http()
http = credentials.authorize(http)
service = build('gmail', 'v1', http=http)
于 2016-12-19T08:50:47.023 に答える
0

Google Guide API で提供されている例を確認できます

于 2016-12-18T10:05:52.057 に答える