1

Blogger API(サービスアカウント-OAuth)にgoogle-python-client-apiを使用しています。

これは私のコードです(これは私のタスクAPIの例です

import httplib2
import pprint
import sys

from apiclient.discovery import build
from oauth2client.client import SignedJwtAssertionCredentials

f = file("privatekey.p12", "rb")
key = f.read()
f.close()

credentials = SignedJwtAssertionCredentials(
    "2-abcdr@developer.gserviceaccount.com",
    key,
    scope = "https://www.googleapis.com/auth/blogger")

http = httplib2.Http()
http = credentials.authorize(http)

service = build("blogger", "v3", http=http)

このコードを実行しているとき、その表示

Message File Name   Line    Position    
Traceback               
    <module>    D:\Code\myScripts\py\gData.py   20      
    build   build\bdist.win32\egg\apiclient\discovery.py    191     
    new_request build\bdist.win32\egg\oauth2client\client.py    402     
    _refresh    build\bdist.win32\egg\oauth2client\client.py    569     
    _do_refresh_request build\bdist.win32\egg\oauth2client\client.py    625     
AccessTokenRefreshError: invalid_grant      

問題は何ですか?どのように修正すればよいですか?

tasks.py私もサンプルコードを試しました..そしてそれも同じエラーを示しています

サービスアカウントのメールアドレスが正しいと確信しています

4

1 に答える 1

1

BigQueryのクエリで同様の問題が発生しています。インターウェブ上にほとんどドキュメントが存在しないことから、SignedJWTCredentialsを無効にするタイミングエラーを引き起こす低解像度クロックの問題であるように見えます。提案されている解決策の1つは、クロックのタイマーがntpと同期していることを確認することです。Herokuにデプロイしているので、解決策は正常に失敗してから再試行することです。

https://code.google.com/p/google-api-php-client/wiki/OAuth2#Solving_invalid_grant_errorsも参照してください

于 2012-10-19T12:53:00.273 に答える