簡體   English   中英

如何使用 Google Drive API php 獲取文件夾/文件的權限列表

[英]How to get list of permissions of a folder/file with Google Drive API php

我只想問如何用PHP獲取Google Drive API中的權限用戶列表?

我試過了 :

$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 變量時,它顯示“數組”

有人可以幫忙嗎。 謝謝!

問題:

在許多 API 方法中,服務器不會返回所有資源字段,而只是返回其中的默認子集。 為了檢索非默認字段,您必須設置參數fields

在這種情況下,您沒有在請求中設置fields ,因此響應不包含文件permissions

解決方案:

設置fields屬性以返回文件permissions*是一個特殊值,可用於返回所有字段):

$idfolder = "YOUR_FILE_ID";
$optParams = array(
  'fields' => '*'
);
$results = $service->files->get($idfolder, $optParams);
$permissions = $results->getPermissions();

筆記:

如果您只想檢索File權限,請考慮調用Permissions: list而不是Files: get

$results = $service->permissions->listPermissions($idfolder, $optParams);

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM