このガイドを使用しました: Quick start for Python。
また、Google Apps ドメイン コントロール パネルにアクセスするための G-Suite アカウントも作成しました。
投稿を挿入するコードは次のとおりです。
__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://www.googleapis.com/plusDomains/v1/people/me/activities?alt=jsonをリクエストすると HttpError 403 が "Forbidden" を返しました">
なんで?
このフォームで購読する必要がありますか? https://developers.google.com/+/web/api/rest/pages-signup
編集:承認のスクリーンショットを作成しましたが、私には問題ないようです。