我一直在使用网站站长工具API。我试图让脚本没有用户交互,并获得我需要的信息。我已将Google Analytics与服务帐户配合使用,但网站站长工具不支持此功能。
我目前正在尝试使用API服务器密钥,但是当我尝试查询API时,它会返回:
代码403: "用户没有足够的权限访问网站"
但是我是我要查询的网站的所有者。我查看了www.google.com/webmasters/tools/home并验证了该网站。
所以我问我的代码是否正确?
$KEY_FILE_LOCATION = "privateKey.json";
$viewID = "view id"; //Website View ID - including ga:
$scopes = array(
"https://www.googleapis.com/auth/analytics.readonly",
"https://www.googleapis.com/auth/webmasters.readonly"
);
$emailAddr = 'Email'; //Got off google developer console
$apiKey = 'API Server Key'; //Got off google developer console
//Create Google Client
$client = new Google_Client();
$client->setApplicationName('Logging in Attempt');
$client->setAuthConfig($KEY_FILE_LOCATION);
$client->setScopes($scopes);
$client->setAccessType('offline');
$client->setDeveloperKey($apiKey);
//Creating Webmaster Service
$webmastersService = new Google_Service_Webmasters($client);
//Creating Request
$request = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
$request->setStartDate('2016-07-01');
$request->setEndDate('2016-07-10');
$request->setDimensions( array('query') );
$requestWebsite = 'Website'; //The website I have access to
//Querying Webmaster
$qsearch = $webmastersService->searchanalytics->query($requestWebsite, $request);
$rows = $qsearch->getRows();
echo "<pre>",print_r($rows),"</pre>";
答案 0 :(得分:0)
发现我出错的地方。代码很好,问题出在搜索控制台上。该网站已经过验证,但我需要将服务帐户中的电子邮件地址添加到网站中并授予其限制访问权限。一旦那个脚本工作了。