我很难过这个。我有一个示例PHP脚本,使用最新版本的Google API PHP客户端。这个脚本功能完美:
<?php
require_once 'Google/Client.php';
require_once 'Google/Service/Drive.php';
$apiConfig['use_objects'] = true;
$client = new Google_Client();
$client->setClientId('xxx.googleusercontent.com');
$client->setClientSecret('xxx');
$client->setRedirectUri('xxx');
$client->setScopes(array('https://www.googleapis.com/auth/drive'));
$oldToken = file_get_contents("token.json");
$client->setAccessToken($oldToken);
$service = new Google_Service_Drive($client);
$perms = $service->permissions->listPermissions("example_file_id_here");
print_r($perms);
?>
然而,对报告API做同样的事情却给了我这篇文章主题的错误。
$client->setScopes(array('https://www.googleapis.com/auth/admin.reports.usage.readonly'));
$service = new Google_Service_Reports($client);
$rep = $service->userUsageReport->get("test@test.com", "2014-09-03");
print_r($rep);
我到处寻找能够找到我需要授予权限的内容。根据{{3}}。我没有在API列表中提供“Reports API”,但启用了Admin SDK。
有谁知道它还能是什么?它在API资源管理器和oauth 2游乐场中运行良好。
答案 0 :(得分:3)
在文档中不是很清楚,但报告API实际上是Admin SDK的一部分。因此,通过启用Admin SDK,您实际上同时启用了报告Api和Admin Apis。
如果您转到admin SDK documentation并在“创建报告和审核”下单击,则可以看到它直接将您链接到Reports API。
希望这有帮助!