Google API PHP,服务帐户模拟问题



我尝试了各种方法,试图在这个问题上取得一些进展,但我一无所获。我正在尝试使用服务帐户访问域上用户的日历。服务帐户已设置,似乎运行正常。据我所知,根据https://developers.google.com/identity/protocols/OAuth2ServiceAccount?hl=en_US#delegatingauthority.在下面的代码中,在我设置模拟帐户并在标题中得到错误之前,一切都很好。我看到过各种不同的关于认证冒充者用户等的帖子,但这似乎与谷歌的说法不一致。我被卡住了。

$client = new Google_Client();
$client->setSubject('email@domain.com');
$client->setAuthConfig($_SERVER['DOCUMENT_ROOT'] . '/private.json');
$client->setScopes(['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly']);

这将导致任何类型的api请求失败,并返回错误:

Message: {
 "error": "unauthorized_client",
 "error_description": "Unauthorized client or scope in request."
}

你好吗?

对于它显示的代码,想念你发布你的应用程序将使用的scope,如果你想使用谷歌日历,你必须使用这个:

$client->addScope('https://www.googleapis.com/auth/calendar,https://www.googleapis.com/auth/calendar.readonly');

有关作用域的详细信息:谷歌API 的OAuth 2.0范围

:)

相关内容

  • 没有找到相关文章

最新更新