Google 分析网站站长工具权限不足

Google Analytics Webmaster Tools Insufficient Permissions

我已经获得了用于分析的代码,因此它可以查询 Google 分析并返回结果,但是当我尝试使用该代码查询网站管理员工具时,它返回时权限不足。

Google 已启用 API 是:分析 API、Google Search Console API

有没有我遗漏的东西?

Google 分析代码:

$client = new Google_Client();
$client->setAuthConfigFile($SECRET);
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY); //For analytics stuff
$client->setAccessType('offline');
$client->setPrompt('prompt');

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
    $client->setAccessToken($_SESSION['access_token']);

    //Checking to see if the token is expired
    if($client->isAccessTokenExpired()){
        $client->refreshToken($refreshToken);
        $_SESSION['access_token'] = $client->getAccessToken();
    }

    $results = $analytics->data_ga->get(
         $viewID,
         $fromDate,
         $toDate,
         $metrics,
         $optParams);


    foreach($results->rows as $data){
        echo "<pre>",print_r($data),"</pre>";
    }
}else {
    $redirect_uri = $redirectURL;
    header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}

网站站长工具代码:

$client = new Google_Client();
$client->setAuthConfigFile($SECRET);
$client->addScope(Google_Service_Webmasters::WEBMASTERS_READONLY); //For WebMaster Tools
$client->setAccessType('offline');
$client->setPrompt('prompt');


if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
    $client->setAccessToken($_SESSION['access_token']);

    //Checking to see if the token is expired
    if($client->isAccessTokenExpired()){
        $client->refreshToken($refreshToken);
        $_SESSION['access_token'] = $client->getAccessToken();
    }
    //Creating Webmaster Service
    $webmastersService = new Google_Service_Webmasters($client);
    $searchanalytics = $webmastersService->searchanalytics;

    //Creating Request
    $request = new Google_Service_Webmasters_SearchAnalyticsQueryRequest();
    $request->setStartDate('2016-05-01');
    $request->setEndDate('2016-05-31');
    $request->setDimensions( array('query') );

    $qsearch = $searchanalytics->query("http://www.example.co.uk", $request);
    $rows = $qsearch->getRows();
    echo "<pre>",print_r($rows),"</pre>";

} else {
    $redirect_uri = $redirectURL;
    header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}

网站站长工具错误消息:

{
 "error": {
  "errors": [
    {
      "domain": "global",
      "reason": "insufficientPermissions",
      "message": "Insufficient Permission"
    }
  ],
  "code": 403,
  "message": "Insufficient Permission"
 }
}

当你 运行 第一个问用户我可以访问你的 Google 分析数据时,用户说是的,你可以,你会得到一个访问令牌,可以用来访问他们的 google 分析数据。

在第二个问题中,您询问用户我可以访问您的网站管理员工具数据吗?用户说是的,您将获得一个访问令牌来访问他们的网站管理员工具数据。

如果你在哪里放置两个范围而不是一个范围,用户将被问到我可以访问你的 google 分析数据和你的网站主工具数据。如果他们同意,您将获得一个访问令牌来访问它们。

如果您尝试使用来自分析授权请求的身份验证来访问网站管理员工具,您将获得权限不足。

如果您需要访问两者,请请求访问两者。如果您首先想要一个,然后也许稍后想要另一个,那么是的,您稍后将不得不向他们询问另一个。