无法使用PHP在Google API请求中添加多个范围

时间:2019-04-09 08:02:22

标签: php google-api gsuite

我正在使用google api和访问google驱动器日历等,同时请求单个作用域,即google工作表或docs,它工作正常,但无法在单个请求中设置多个作用域。

我尝试了其他论坛上讨论的各种方法,例如添加了多个 用逗号分隔添加了多个作用域

$client->setScopes(Google_Service_Calendar::CALENDAR,Google_Service_Drive::DRIVE);

还创建了

之类的新数组

$scopes=['Google_Service_Calendar::CALENDAR','Google_Service_Drive::DRIVE']

但没有一个对我有用

这是我的代码

$client = new Google_Client();
$client->setScopes(Google_Service_Calendar::CALENDAR,Google_Service_Drive::DRIVE);
$client->setAuthConfig('simplo_other_secret.json');
$client->setAccessType('offline');
$client->setPrompt('select_account consent');

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

我不是PHP专家,但是...

根据示例,setScopes方法确实可以接受范围数组作为参数。参见:https://hotexamples.com/examples/-/Google_Client/setScopes/php-google_client-setscopes-method-examples.html

您的示例代码显示您确实尝试传递数组,但是将 Google_Service_Calendar :: CALENDAR Google_Service_Drive :: DRIVE 括在单引号中,将它们转换为字符串,而不是对其表示的值的引用。