我用过这个指南: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 添加了范围。
但是当我运行我的代码时,它会输出此错误:
请求时
为什么?
我需要在此表格中订阅吗? https://developers.google.com/+/web/api/rest/pages-signup
编辑:我为授权做了屏幕截图,对我来说似乎没问题。
在此处输入图像描述
在此处输入图像描述
在此处输入图像描述
在此处输入图像描述
403 forbidden
意味着您没有权限执行您正在尝试执行的操作。 在这种情况下,插入到域活动页面。 您需要做的第一件事是仔细检查服务帐户是否已添加到域帐户,并且它具有所需的权限。 这可能有助于执行 Google Apps 全网域授权
请记住,这是您正在使用的Google+域名API。这将发布到域帐户活动页面。 这不会在Google+社交媒体网站上发布任何内容。
Google Plus pages API 用于写入 Google+ 社交媒体网站上的页面。 它处于私人测试阶段。