此后,我收到以下错误消息:
致命错误:未被捕获的Google_Service_Exception:{“错误”:“ unauthorized_client”,“ error_description”:“客户端未被授权使用此方法检索访问令牌。” }
对于Google管理员设置,我们点击以下链接: https://developers.google.com/api-client-library/php/auth/service-accounts
我们正在使用restapi.php
require __DIR__ . '/vendor/autoload.php';
/**
* Returns an authorized API client.
* @return Google_Client the authorized client object
*/
putenv('GOOGLE_APPLICATION_CREDENTIALS=client_secret.json');
$client = new Google_Client();
$client->setApplicationName('rwmp');
$client->setAccessType("offline"); // offline access
$client->useApplicationDefaultCredentials();
$client->setSubject('user@myconference.center');
$client->setScopes([\Google_Service_Sheets::SPREADSHEETS]);
$service = new Google_Service_Sheets( $client );
$spreadsheetId = '1WtuEXGm8oWxet6t9UcPU-mi7lgif1sqeTcmc9DO-_zs';
$range = 'A:G';
$response = $service->spreadsheets_values->get($spreadsheetId,$range);
$values = $response->getValues();
(a)我们正在使用G-Suite“基本版”;有什么限制吗? (b)我们正在从PHP(7.0)环境调用G-Suite API;是否存在任何已知问题,因为环境仍标记为'(Beta)'。 (c)是否有任何样本/教程可以为解决我们的问题提供指导。
答案 0 :(得分:0)
我有解决方案,我们必须从管理员配置中选择范围并使用它。
ex:$ client-> setScopes(array('https://www.googleapis.com/auth/drive','https://www.googleapis.com/auth/spreadsheets.readonly')))