php 谷歌分析“请求的身份验证范围不足”;“状态”:“许可被拒绝”错误

v7pvogib  于 2023-02-28  发布在  PHP
关注(0)|答案(1)|浏览(167)

我试图让访问我的谷歌分析帐户中的用户使用api。但我得到
"错误":{"代码":403、"留言":"请求的身份验证作用域不足。","错误":[{"消息":"权限不足","域":"全局"、"原因":"权限不足"}],"状态":"PERMISSION_DENIED "}这个错误.这里是我的php代码.

<?php
include('config.php');

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://analytics.googleapis.com/analytics/v3/management/accounts/203453755/entityUserLinks?key=[api key];
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"id\":\"id:mailId\",\"kind\":\"analytics#entityUserLink\",\"selfLink\":\"https://www.googleapis.com/analytics/v3/management/accounts/id/entityUserLinks/id:mailId\",\"entity\":{\"accountRef\":{\"id\":\"id\",\"kind\":\"analytics#accountRef\",\"href\":\"https://www.googleapis.com/analytics/v3/management/accounts/id\",\"name\":\"abir test\"},\"webPropertyRef\":{\"id\":\"UA-webproperty\",\"kind\":\"analytics#webPropertyRef\",\"href\":\"https://www.googleapis.com/analytics/v3/management/accounts/id\",\"accountId\":\"id\",\"internalWebPropertyId\":\"id\",\"name\":\"malta\"},\"profileRef\":{\"id\":\"id\",\"kind\":\"analytics#profileRef\",\"href\":\"https://www.googleapis.com/analytics/v3/management/accounts/id\",\"accountId\":\"accountId\",\"webPropertyId\":\"UA-webproperty\",\"internalWebPropertyId\":\"id\",\"name\":\"All Web Site Data\"}},\"userRef\":{\"kind\":\"analytics#userRef\",\"id\":\"userEmailId\",\"email\":\"usermail@gmail.com\"},\"permissions\":{\"effective\":[\"READ_AND_ANALYZE\"],\"local\":[\"READ_AND_ANALYZE\"]}}");
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');

$google_client->addScope('https://www.googleapis.com/auth/analytics.manage.users');
$headers = array();
$headers[] = 'Authorization: Bearer [access_token]
$headers[] = 'Accept: application/json';
$headers[] = 'Content-Type: application/json';

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
echo '<pre>';
var_dump($result,true);
curl_close($ch);

?>

我如何解决这个问题?

xqk2d5yq

xqk2d5yq1#

您似乎正在使用Account User Links: list方法。
此方法需要使用下列作用域之一进行授权

您似乎使用了正确的
https://www.googleapis.com/auth/analytics.manage.users
所以只有两种可能。
您授权的用户没有管理员访问权限,因此无法查看用户本身。如果是这种情况,请使用具有管理员访问权限的用户登录,或将此用户升级为具有管理员访问权限。
或者,您在授权用户后更改了应用程序中的范围。如果您确实更改了范围,则需要撤销用户的访问权限,然后再次授权您的应用程序。您需要查看同意屏幕,其中应说明新的范围。

相关问题