如何使用 Google 驱动器 API php 获取 folder/file 的权限列表
How to get list of permissions of a folder/file with Google Drive API php
我只想问一下如何获取Google驱动器API和PHP的权限用户列表?
我试过了:
$client = new Google_Client();
$client->setAuthConfig('gdrive/json/'. $_SESSION['json'] . '.json');
$client->setApplicationName('Google Drive API PHP Quickstart');
$client->setScopes(Google_Service_Drive::DRIVE);
$client->setSubject($_SESSION['json_email']);
$client->setAccessType('offline');
$service = new Google_Service_Drive($GLOBALS['client']);
$idfolder = "1OkkVahAzWkmHlRI9AzuH8uSSK";
$results = $service->files->get($idfolder);
$permissions = $results->getpermissions();
foreach( $permissions as $kk => $users) {
echo $users['displayName'] ;
echo $users['type'] ;
echo $users['emailAddress'] ;
}
但它没有显示任何内容,但当我回显 $permissions 变量时它显示“Array”
有人可以帮忙吗。谢谢!
问题:
在许多 API 方法中,服务器不会 return 所有资源字段,而只是它的默认子集。为了检索非默认字段,您必须设置参数 fields
.
在这种情况下,您没有在请求中设置 fields
,因此响应不包含文件 permissions
.
解决方案:
设置 fields
属性 以便 return 文件 permissions
(*
是一个特殊值,可用于 return所有字段):
$idfolder = "YOUR_FILE_ID";
$optParams = array(
'fields' => '*'
);
$results = $service->files->get($idfolder, $optParams);
$permissions = $results->getPermissions();
注:
考虑调用 Permissions: list instead of Files: get,如果您只想检索 File
权限:
$results = $service->permissions->listPermissions($idfolder, $optParams);
参考:
我只想问一下如何获取Google驱动器API和PHP的权限用户列表?
我试过了:
$client = new Google_Client();
$client->setAuthConfig('gdrive/json/'. $_SESSION['json'] . '.json');
$client->setApplicationName('Google Drive API PHP Quickstart');
$client->setScopes(Google_Service_Drive::DRIVE);
$client->setSubject($_SESSION['json_email']);
$client->setAccessType('offline');
$service = new Google_Service_Drive($GLOBALS['client']);
$idfolder = "1OkkVahAzWkmHlRI9AzuH8uSSK";
$results = $service->files->get($idfolder);
$permissions = $results->getpermissions();
foreach( $permissions as $kk => $users) {
echo $users['displayName'] ;
echo $users['type'] ;
echo $users['emailAddress'] ;
}
但它没有显示任何内容,但当我回显 $permissions 变量时它显示“Array”
有人可以帮忙吗。谢谢!
问题:
在许多 API 方法中,服务器不会 return 所有资源字段,而只是它的默认子集。为了检索非默认字段,您必须设置参数 fields
.
在这种情况下,您没有在请求中设置 fields
,因此响应不包含文件 permissions
.
解决方案:
设置 fields
属性 以便 return 文件 permissions
(*
是一个特殊值,可用于 return所有字段):
$idfolder = "YOUR_FILE_ID";
$optParams = array(
'fields' => '*'
);
$results = $service->files->get($idfolder, $optParams);
$permissions = $results->getPermissions();
注:
考虑调用 Permissions: list instead of Files: get,如果您只想检索 File
权限:
$results = $service->permissions->listPermissions($idfolder, $optParams);