1

Google plus を使用してアプリを承認しようとしています。ただし、Google+ API アプリを作成したユーザーでログインする場合を除き、People サービスを使用して「me」を取得しようとすると、常に 404 が返されます。なぜそうなるのか、私には意味がありません。

from httplib2 import Http
from apiclient.discovery import build
credential = gp_client.step2_exchange(request.REQUEST)
http = Http()
http = credential.authorize(http)
service = build("plus", "v1", http=http)
o = service.people().get(userId='me').execute()

Google+ エクスプローラーを使用する場合も同様です。

http://code.google.com/apis/explorer/#_s=plus&_v=v1&_m=people.get&fields=emails

API を作成したユーザーでプライベートに切り替えると、「自分」を取得できますが、別のユーザーを承認すると、「自分」を取得できません。

何が起こっているのですか?

4

1 に答える 1

1

これが何なのか、ようやく判明。Google では、アプリに対して任意の Google アカウントを承認できます。ただし、認証ユーザーが Google+ にアップグレードしていない場合、アプリが最初の Google+ API リクエストを行うと、リクエストは 404 になります。OAuth2WebServerFlow をセットアップするときにスコープとして「plus.me」を指定したため、これは気が遠くなるような結果になります。 .. 私見 Google は、ユーザーがこの OAuth リクエストを承認しようとするときに、Google+ にアップグレードするようにユーザーに通知する必要があります。

gp_client = OAuth2WebServerFlow(
    settings.GOOGLE_PLUS_CONSUMER_ID,
    settings.GOOGLE_PLUS_CONSUMER_SECRET,
    scope='https://www.googleapis.com/auth/plus.me',
)
于 2012-02-02T22:04:59.620 に答える