我使用过本指南:Quick start for Python。
我还创建了一个G-Suite帐户来访问Google Apps域控制面板。
这是我插入帖子的代码:
__author__ = 'joannasmith@google.com (Joanna Smith)'
import httplib2
import pprint
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
SERVICE_ACCOUNT_EMAIL = 'servizio@projecttest-161515.iam.gserviceaccount.com'
SERVICE_ACCOUNT_PKCS12_FILE_PATH = './ProjectTest-9179fae1c392.json'
USER_EMAIL = 'its2016web@assicuraora.com'
SCOPES = ['https://www.googleapis.com/auth/plus.me','https://www.googleapis.com/auth/plus.stream.write']
def authenticate():
print 'Authenticate the domain for %s' % USER_EMAIL
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_PKCS12_FILE_PATH, scopes=SCOPES)
delegate_credentials = credentials.create_delegated(USER_EMAIL)
http = httplib2.Http()
http = delegate_credentials.authorize(http)
return build('plusDomains', 'v1', http=http)
def activitiesInsert(service):
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))
if __name__ == '__main__':
service = authenticate()
activitiesInsert(service)
要检索ClientID,我必须在服务帐户密钥上选中“在整个域G Suite上启用授权”,并且还从Google Apps域控制面板向客户端ID添加了范围。
但是当我运行我的代码时,它输出了这个错误:
<请求时的HttpError 403 https://www.googleapis.com/plusDomains/v1/people/me/activities?alt=json 返回“禁止”>
为什么?
我需要以这种形式订阅吗? https://developers.google.com/+/web/api/rest/pages-signup
编辑:我完成了授权截图,对我来说似乎没问题。答案 0 :(得分:0)
403 forbidden
表示您没有权限执行您尝试执行的操作。在这种情况下,插入域活动页面。您需要做的第一件事是仔细检查服务帐户是否已添加到域帐户,并且它具有所需的权限。这可能会有助Perform Google Apps domain-wide delegation of authority
请记住,这是您正在使用的Google+域名API。这将发布到域帐户活动页面。这不会向Google+ social media website发布任何内容。
Google Plus pages API用于写入Google+社交媒体网站上的网页。它是私人测试版。