2016-10-19 24 views
0

私はGoogleの連絡先を取得したいと思います。ここで私はOAuth 2.0を使っているユーザーを認証します。しかし、私は私のユーザーを認証することができません。PythonでGoogleの連絡先を取得するユーザーを認証する

client_id = 'abcedf' 
    client_secret= 'qwert' 
    scope=(
      'https://www.googleapis.com/auth/contacts.readonly' 
     ), 


credentials = { 
    'client_id':client_id, 
    'client_secret':client_secret, 
    'scope':scope 
} 

auth2token = gdata.gauth.OAuth2TokenFromCredentials(credentials) 

上記の認証が機能していないため、連絡先を取得するために進むことができません。あなたがユーザーを認証するためのPythonを使っているので

enter image description here

+0

この質問は、認証の問題を解決します。http://stackoverflow.com/questions/10271110/python-oauth2-login-with-google/10546639#10546639 – user5594493

答えて

0

、あなたが試すことができ、認証にフローオブジェクトを使用する方法についてoauth2client-library for Python使用します(

flow_from_clientsecrets() 

oauth2client.client.flow_from_clientsecretsを)メソッドは、client_secrets.jsonファイルからFlowオブジェクトを作成します。このJSON形式のファイルには、クライアントID、クライアントシークレット、その他のOAuth 2.0パラメータが格納されます。

flow_from_clientsecrets()を使用してその名前にもかかわらずOAuth2WebServerFlow

を使用して

from oauth2client.client import flow_from_clientsecrets 
... 
flow = flow_from_clientsecrets('path_to_directory/client_secrets.json', 
           scope='https://www.googleapis.com/auth/calendar', 
           redirect_uri='http://example.com/auth_return') 

oauth2client.client.OAuth2WebServerFlowクラス:

あなたはフローオブジェクトを作成するflow_from_clientsecrets()を使用する方法を以下に示し

インストールされたアプリケーションとWebアプリケーションの両方に使用されます。クライアントID、クライアントシークレット、およびスコープをそのコンストラクタに渡すことによって作成されます。コンストラクタにredirect_uriパラメータを指定します。これはアプリケーションによって処理されるURIでなければなりません。

from oauth2client.client import OAuth2WebServerFlow 
... 
flow = OAuth2WebServerFlow(client_id='your_client_id', 
          client_secret='your_client_secret', 
          scope='https://www.googleapis.com/auth/calendar', 
          redirect_uri='http://example.com/auth_return') 
関連する問題