1

我試圖授權我的應用程序使用谷歌加。但是,當我使用人員服務並試圖獲得「我」時,除了使用創建Google+ API應用的用戶登錄時,我嘗試過的所有內容總是會給我一個404。這對我的原因沒有任何意義。無法使用谷歌加API進行授權

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,那麼我可以取「我」的用戶,但如果我授權另一個用戶,那麼我無法獲取'我'。

任何想法發生了什麼?

+0

顯示您在哪裏定義'gp_client' – Daenyth 2012-02-02 21:44:55

回答

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', 
)