2013-12-09 68 views
2

有我的代碼:403 Forbidden錯誤谷歌加蟒蛇

import pprint 
import httplib2 

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

SCOPES = ['https://www.googleapis.com/auth/plus.me', 
      'https://www.googleapis.com/auth/plus.stream.write'] 

REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob' 

CLIENT_ID = "my client id" 
CLIENT_SECRET = "my client secret" 
flow = OAuth2WebServerFlow(client_id=CLIENT_ID, 
          client_secret=CLIENT_SECRET, 
          scope=SCOPES, 
          redirect_uri=REDIRECT_URI) 

auth_uri = flow.step1_get_authorize_url() 

print 'Please paste this URL in your browser to authenticate this program.' 
print auth_uri 
code = raw_input('Enter the code it gives you here: ') 

credentials = flow.step2_exchange(code) 

http = httplib2.Http() 
http = credentials.authorize(http) 
service = build('plusDomains', 'v1', http=http) 

user_id = 'me' 

print('Insert activity') 
result = service.activities().insert(
    userId = user_id, 
    body = { 
     'object' : { 
      'originalContent' : 'Happy Monday! #caseofthemondays' 
     }, 
     'access' : { 
      'items' : [{ 
       'type' : 'domain' 
      }], 
      'domainRestricted': True 
     } 
    }).execute() 
print('result = %s' % pprint.pformat(result)) 

,並有我的錯誤:

Traceback (most recent call last): 
     File "/home/karl/workspace/googleplus/google_plus/google_plus_pic.py", line 44, in <module> 
     'domainRestricted': False 
     File "/usr/local/lib/python2.7/dist-packages/oauth2client/util.py", line 128, in positional_wrapper 
     return wrapped(*args, **kwargs) 
     File "/usr/local/lib/python2.7/dist-packages/apiclient/http.py", line 680, in execute 
     raise HttpError(resp, content, uri=self.uri) 
    apiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/plusDomains/v1/people/me/activities?alt=json returned "Forbidden"> 

我已經閱讀了大量的信息,但我不知道該怎麼解決這個問題。 錯誤在哪裏?

+0

只是爲了確保您授權的Google帳戶是Google Apps帳戶嗎? – abraham

回答

3

要使用Google+ Domains API,您需要確保您代表的用戶的域名已經爲您的應用設置了正確的權限。這些說明位於quick-start guide的第1步中的「授權您的服務帳戶的全域權限」部分。

具體來說,您需要將您的應用的客戶端ID與您的應用將在該域的控制面板中使用的範圍相關聯。域管理員是唯一可以這樣做的人 - 因此,如果您正在處理其他域,請確保與該人聯繫。此外,控制面板中列出的範圍必須與您在應用中請求的範圍完全匹配。

+0

非常感謝 –