0

問題チームドライブのファイルのための不完全なGoogleドライブのREST APIの結果

私のチームドライブのバックアップシステムの最初のフェーズで、私が最初にコピーするファイルを決定するために、与えられたチームのドライブ内のファイルをスキャンする必要がありますバックアップのために。

私は(と思う?)により、私が使用した資格情報(クラウドコンソールにOwnerに設定)に、ファイルチームドライブの&フォルダを完全なアクセス許可を持っています。

それにもかかわらず、私の問題は、私は与えられたチームのドライブのファイルリストのためのREST APIを照会するとき、結果がdocumentationに準拠していないということです。返されたファイルオブジェクトがあるだけで5つのフィールド含まれています

  • kindnameidmimeTypeteamDriveId

提供された文書によると、私はフィールドのより一握りを受けるべきです。

以下は、APIと出力を照会するために使用するコードです。

与えられたチームのためにドライブ

credentials = get_credentials() # retrieves and processes app credentials 
drive = get_drive_api(credentials) # get the drive API v3 using httplib2 and discovery 
query = drive.files().list(
    pageSize = 10, 
    corpora = 'teamDrive', 
    supportsTeamDriveItems = True, 
    includeTeamDrives = True, 
    teamDriveId = "..." 
) 
results = query.execute() # contact the REST API 
files = results.get('files', []) 
for file in files: 
    print(file) 

簡体ソースは、出力は明らかにdocsに応じて期待出力されません

{ 
    'kind': 'drive#file', 
    'id': '...', 
    'name': 'filename', 
    'mimeType': 'application/vnd.google-apps.document', 
    'teamDriveId': '...' 
} 

です。

予想される完全なデータが得られない理由についての洞察はありますか?

答えて

2

With Google Drive API v3 full resources are no longer returned by default. Use the fields query parameter to request specific fields to be returned. If left unspecified only a subset of commonly used fields are returned.

あなたは*fieldsを設定することができ、リソースの利用可能なすべてのフィールドを取得するには。例えば

query = drive.files().list(
    pageSize = 10, 
    corpora = 'teamDrive', 
    supportsTeamDriveItems = True, 
    includeTeamDrives = True, 
    teamDriveId = "...", 
    fields="*" # or maybe "files(id,name,capabilities/canShare),nextPageToken" 
) 
+0

はどうもありがとうございました! –

関連する問題