gpt4 book ai didi

php - 谷歌-api-php-客户端 "error": "unauthorized_client"

转载 作者:可可西里 更新时间:2023-11-01 01:14:35 25 4
gpt4 key购买 nike

我们正在尝试构建一项服务,以在我们的 gsuite 域中导出 google drive 文件。

我们正在使用 https://github.com/google/google-api-php-client

我们创建了一个服务用户,下载并保存了用户凭证,并授予服务用户全域访问权限。

下面是最简单的例子(就像我发现的每个文档一样):

putenv('GOOGLE_APPLICATION_CREDENTIALS='/service-account-credentials.json');

$client = new \Google_Client();
$client->setAuthConfig('service-account-credentials.json');

$client->setScopes('https://www.googleapis.com/auth/drive.file');

$client->useApplicationDefaultCredentials();
$client->setSubject('admin@mydomain.com');

$service = new \Google_Service_Drive($client);

$service->files->listFiles();

只要我们包含 $client->setSubject('admin@mydomain.com'); 这行,它就会抛出以下错误:

{
"error": "unauthorized_client",
"error_description": "Client is unauthorized to retrieve access tokens using this method."
}

有任何人有想法,或者可以分享这个问题的代码示例。这对我们来说是一个真正的障碍,现在我不知道为什么会出现这个错误

最佳答案

我终于成功了

经过几次尝试后,我意识到我将全域访问权限委托(delegate)给了错误的客户端 ID。我一直认为这应该与我在脚本中使用的“client_email”相同。但这真的(真的,真的,真的)很重要,这是“client_id”(顺便在文档中提到)。这不是电子邮件或字符串,它只是您在为服务帐户创建 key 时获得的一个简单数字。

关于php - 谷歌-api-php-客户端 "error": "unauthorized_client",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42700788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com