legged-oauth を使用して、ユーザーの Google 連絡先をアプリにインポートします。ContactsClient ライブラリは見つかりませんでしたが、ContacsService のみを使用していて、ContactsFeed をフェッチしていましたが、結果として多くのデータがありませんでした。ユーザーがアプリを許可した後、auth_token キーとシークレットを保存して、cron タスクを実行して連絡先の更新を取得できるようにします
私はこのコードatmを使用しています:
google = gdata.contacts.service.ContactsService(source=GOOGLE_OAUTH_SETTINGS['APP_NAME'])
google.SetOAuthInputParameters(GOOGLE_OAUTH_SETTINGS['SIG_METHOD'],
GOOGLE_OAUTH_SETTINGS['CONSUMER_KEY'],
consumer_secret=GOOGLE_OAUTH_SETTINGS['CONSUMER_SECRET'])
access_token = gdata.auth.OAuthToken(user_oauth_token, user_oauth_secret)
access_token.oauth_input_params = google.GetOAuthInputParameters()
google.SetOAuthToken(access_token)
feed = google.GetContactsFeed()
連絡先クライアントを使用しようとすると
contacts_client = gdata.contacts.client.ContactsClient(
source=GOOGLE_OAUTH_SETTINGS['APP_NAME'])
feed2 = contacts_client.GetContacts(auth_token = access_token)
次のエラーが表示されます (access_token は上記と同じで、3-legged-oauth HMAC を使用していることに注意してください)
実際の結果: ファイル "/Library/Python/2.5/site-packages/atom/client.py"、108 行目、リクエスト auth_token.modify_request(http_request) 内