我正在使用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');
任何帮助将不胜感激
答案 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 括在单引号中,将它们转换为字符串,而不是对其表示的值的引用。