2

I am trying to get gsc data via -> https://github.com/google/google-api-php-client

I am project owner at -> https://developers.google.com/

And restricted user at -> https://www.google.com/webmasters/tools/home?hl=de

I've created a service account with the role project owner at https://developers.google.com/ and stored the json on my server.

My code so far =

// Fetch GoogleSearchConsole data and store it. putenv('GOOGLE_APPLICATION_CREDENTIALS=' . getcwd() . '/../my-service-account-creds.json'); $client = new Google_Client(); $client->setApplicationName('my-project'); $client->useApplicationDefaultCredentials(); $client->addScope([Google_Service_Webmasters::WEBMASTERS_READONLY, Google_Service_Webmasters::WEBMASTERS]); $service = New Google_Service_Webmasters($client); $query = New Google_Service_Webmasters_SearchAnalyticsQueryRequest(); $query->setStartDate(strtotime('2018-01-15')); $query->setEndDate(strtotime('2018-01-22')); $query->setDimensions(['page']); $hmm = $service->searchanalytics->query('http://www.mysite.io', $query); 

The Response is always

 { "error": { "errors": [ { "domain": "global", "reason": "forbidden", "message": "User does not have sufficient permission for site 'http://www.mysite.io/'. See also: https://support.google.com/webmasters/answer/2451999." } ], "code": 403, "message": "User does not have sufficient permission for site 'http://www.mysite.io/'. See also: https://support.google.com/webmasters/answer/2451999." } } 

I even get an access token if I call

$client->fetchAccessTokenWithAssertion($my_http_client); 

Edit: I will test this answer and report back if I have success with it https://stackoverflow.com/a/20961008/4732699

1 Answer 1

1

I had to add my service account to my webmasters property as user.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.