刷新 OAuth2 令牌时出错,消息:'{ "error" : "unauthorized_client", "error_description" : "Unauthorized client or scope in request." }'

Error refreshing the OAuth2 token, message: '{ "error" : "unauthorized_client", "error_description" : "Unauthorized client or scope in request." }'

当我尝试从 Google Analytics 获取数据时,出现错误

Error refreshing the OAuth2 token, message: '{ "error" : "unauthorized_client", "error_description" : "Unauthorized client or scope in request." }'

我在 https://console.developers.google.com/project 中创建项目,创建 服务帐户 并下载 .p12 密钥。在项目设置中也启用 "Analytics API",但它不起作用。这是我的代码:

    $service_account_name = '<Service Email>@developer.gserviceaccount.com';
    $key_file_location = '<keyName>.p12';
    $key = file_get_contents($key_file_location);
    $cred = new Google_Auth_AssertionCredentials(
        $service_account_name,
        array(Google_Service_Analytics::ANALYTICS),
        $key,
        'notasecret',
        'http://oauth.net/grant_type/jwt/1.0/bearer',
        '<My email>'
    );
$client->getAuth()->setAssertionCredentials($cred);
$service = new Google_Service_Analytics($client);
$result = $service->data_ga->get("ga:<profileID>", "yesterday", "today", "ga:pageviews");
print_r( $result);

我的项目有什么问题?请帮忙。

您错过了最后一步,即在您域的控制面板中授予对您的应用程序的访问权限。

https://developers.google.com/+/domains/authentication/delegation

您创建了服务帐户,现在您需要delegate/authorize申请。