1

我使用了本指南: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

编辑:我为授权做了截图,对我来说似乎没问题。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

403 forbidden意味着您无权执行您正在尝试执行的操作。在这种情况下,插入域活动页面。您需要做的第一件事是仔细检查服务帐户是否已添加到域帐户中,并且它具有所需的权限。这可能有助于执行 Google Apps 域范围的授权

请记住,这是您正在使用的 Google+ 域 API。这将发布到域帐户活动页面。这不会向Google+ 社交媒体网站发布任何内容。

Google Plus pages API用于写入 Google+ 社交媒体网站上的页面。它处于私人测试阶段。

于 2017-03-15T12:07:50.713 回答