I am quite new to Google APIs and I have been a bit lost :)
First I played around with the Google APIs Explorer and everything was working fine, all my requests.
Then I starting writing a small Python Script to authorise and call the API through a Service Account.
It looks like this:
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
import httplib2
import json
import os
credentials = ServiceAccountCredentials.from_json_keyfile_name(
filename='/Users/Shopping Dashboard.json',
scopes='https://www.googleapis.com/auth/content')
http = credentials.authorize(httplib2.Http())
service = build('content', 'v2', http=http)
print service.accounts().authinfo().execute()
request = service.accounts().list(merchantId='xxx', maxResults=50)
result = request.execute()
print result
However although I though it was kind of OK I still get this error
googleapiclient.errors.HttpError: <HttpError 401 when requesting https://www.googleapis.com/content/v2/xxxxx/accounts?alt=json&maxResults=50 returned "User cannot access account xxxxx">
I think what I miss here is kind of creating my token (?) before calling the url? But how is this created? I know there are 1000 examples out there, and I used some scripts that are already in github and they work but they are already too sophisticated and complicated for me to understand. What I miss here is to understand how this process works with some simple example and be able to replicate the logic..
Thanks a lot!
It's probably a token thing. When using this type of APIs, a token is always necessary. but check this to see how it's done using the urllib2.