ユーザーがOAuthとGDataAPIを使用して現在のデータをGoogleスプレッドシートにエクスポートできるようにするボタンをWebベースのダッシュボードに実装しようとしています。現在、ユーザーをログイン/許可アクセスページに誘導できますが、要求トークンをアクセストークンに変換する行を追加すると、次のように表示されます。
"RequestError:OAuthリクエストトークンをアップグレードしてトークンにアクセスできません:400、parameter_absent oauth_parameters_absent:oauth_token"
このページのOAuth2の手順に従っています:
https://developers.google.com/gdata/docs/auth/oauth
Google APIの両方のPyDocを読みましたが、この問題の詳細は見つかりませんでした。
http://gdata-python-client.googlecode.com/hg/pydocs/gdata.docs.client.html#DocsClient
(このハイパーリンクを投稿させませんが、他のPydocは同じURLですが、pydocs /の後の部分をgdata.gauth.html#ClientLoginTokenに置き換えます)
これは機能するコードです:
def createDocsClient(self, oauth_callback_url):
docsClient = gdata.docs.client.DocsClient(source='RiskOps-QualityDashboard')
request_token = docsClient.GetOAuthToken(SCOPES, oauth_callback_url, CONSUMER_KEY, consumer_secret=CONSUMER_SECRET)
domain = None
auth_url = request_token.generate_authorization_url(google_apps_domain=domain)
self.redirect(str(auth_url))
request_token = gdata.gauth.AuthorizeRequestToken(request_token, self.request.uri
上記のコードを使用すると、アクセス許可ページが表示されます。アクセス許可ページをクリックすると、(予想どおりに)どこに進むべきかわからないため、404エラーが発生しますが、ページには適切なURLが表示されます。 oauth_verifierとoauth_token。「AuthorizeRequestToken」行は、そのURLを使用してトークンを承認することになっているため、この行まではすべてが機能しているようです。
上記のコードの直後に次の行を追加すると、私が書いた「RequestError」が発生します。
access_token = docsClient.GetAccessToken(request_token)
私は、AeSaveとAeLoad(説明が必要かもしれませんが、私の場合はそれが必要かどうかはわかりません)と他の多くのランダムで失敗したアイデアを使用して、相互に呼び出しをネストするさまざまな組み合わせを試しましたが、何もありません何が欠けているのか、何が間違っているのかについて、本当に良い考えを私に与えてくれます。
本当に感謝し、助けてくれるか、誰かが持っているアイデアを教えてください(あなたが言うことができない場合、私は(アカデミックコードとは対照的に)実際のコードに関してはかなり経験が浅いです)どうもありがとうございました。