Google+ Domain API HTTP Error 500 calling activities.insert

274 Views Asked by At

I'm getting an HTTP 500 error when trying to run the sample code (python) for inserting an activity on behalf of a user. I've set up domain wide delegation and have included all the correct scopes. I've successfully run with domain delegation for creating circles, adding people to circles, reading posts, comments and profiles but for some reason I cannot get the code to work for inserting a post on behalf of a user. Any ideas? Code and error follow (private info redacted):

import httplib2
import pprint

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

SERVICE_ACCOUNT_EMAIL = '[email protected]'
SERVICE_ACCOUNT_PKCS12_FILE_PATH = '/path/privatekey.pem'

USER_EMAIL = '[email protected]'
SCOPES = ['https://www.googleapis.com/auth/plus.me',
          'https://www.googleapis.com/auth/plus.stream.read',
          'https://www.googleapis.com/auth/plus.stream.write',
          'https://www.googleapis.com/auth/plus.circles.read',
          'https://www.googleapis.com/auth/plus.circles.write',
          'https://www.googleapis.com/auth/plus.profiles.read']

def authenticate():
  print 'Authenticate the domain for %s' % USER_EMAIL

  f = open(SERVICE_ACCOUNT_PKCS12_FILE_PATH, 'rb')
  key = f.read()
  f.close()

  credentials = SignedJwtAssertionCredentials(SERVICE_ACCOUNT_EMAIL, key,
  scope=SCOPES, sub=USER_EMAIL)
  http = httplib2.Http()
  http = credentials.authorize(http)

  return build('plusDomains', 'v1', http=http)


def activitiesInsert(service):
  user_id = 'me'
  print 'Inserting activity'
  result = service.activities().insert(
      userId = user_id,
      body = {
         'object' : {
              'originalContent' : 'Happy Monday! #caseofthemondays'
          },
          'access' : {
              'items' : [{
                  'type' : 'domain'
              }],
              # Required, this does the domain restriction
              'domainRestricted': True
          }
      }).execute()
  print 'result = %s' % pprint.pformat(result)


if __name__ == '__main__':
  service = authenticate()
  activitiesInsert(service)

python addpost.py

Authenticate the domain for [email protected]

Inserting activity

Traceback (most recent call last):

File "addpost.py", line 72, in activitiesInsert(service)

File "addpost.py", line 64, in activitiesInsert 'domainRestricted': True

File "build/bdist.macosx-10.6-intel/egg/oauth2client/util.py", line 132, in positional_wrapper

File "build/bdist.macosx-10.6-intel/egg/apiclient/http.py",

line 723, in execute

apiclient.errors.httperror

HttpError 500 when requesting https://www.googleapis.com/plusDomains/v1/people/me/activities?alt=json returned ""

0

There are 0 best solutions below