使用 google-api-客户端获取 Google 搜索 API PHP
Get Google Search API PHP with google-api-client
我正在尝试通过 -> https://github.com/google/google-api-php-client
获取 gsc 数据
我是项目所有者 -> https://developers.google.com/
并且受限用户位于 -> https://www.google.com/webmasters/tools/home?hl=de
我在 https://developers.google.com/ 创建了一个项目所有者角色的服务帐户,并将 json 存储在我的服务器上。
到目前为止我的代码 =
// 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);
响应总是
{
"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."
}
}
如果我调用
,我什至会得到一个访问令牌
$client->fetchAccessTokenWithAssertion($my_http_client);
编辑:我会测试这个答案并在成功后报告
我必须将我的服务帐户作为用户添加到我的网站管理员 属性。
我正在尝试通过 -> https://github.com/google/google-api-php-client
获取 gsc 数据我是项目所有者 -> https://developers.google.com/
并且受限用户位于 -> https://www.google.com/webmasters/tools/home?hl=de
我在 https://developers.google.com/ 创建了一个项目所有者角色的服务帐户,并将 json 存储在我的服务器上。
到目前为止我的代码 =
// 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);
响应总是
{
"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."
}
}
如果我调用
,我什至会得到一个访问令牌$client->fetchAccessTokenWithAssertion($my_http_client);
编辑:我会测试这个答案并在成功后报告
我必须将我的服务帐户作为用户添加到我的网站管理员 属性。