2016-12-28 17 views
4

は、動画を言いました。私は、リクエストパラメータにthumbnailLinkを有効にしますが、バックAPIからサムネイルURLを取得する難しさを持っている:thumbnailLinkためGoogleドライブAPIのサムネイルパラメータ

'fields' => 'nextPageToken, files(id, name, thumbnailLink, webContentLink, webViewLink)' 

値が他の値が正常に返され、空のままです。私は成功せずに、APIのドキュメントのサムネイルの設定を探しました。 APIもエラーを返しません。どうなり得るか?

array(4) { 
[0]=> 
object(Google_Service_Drive_DriveFile)#590 (56) { 
["collection_key":protected]=> 
string(6) "spaces" 
["appProperties"]=> 
NULL 
["capabilitiesType":protected]=> 
string(42) "Google_Service_Drive_DriveFileCapabilities" 
["capabilitiesDataType":protected]=> 
string(0) "" 
["contentHintsType":protected]=> 
string(42) "Google_Service_Drive_DriveFileContentHints" 
["contentHintsDataType":protected]=> 
string(0) "" 
["createdTime"]=> 
string(24) "2016-09-12T19:54:22.000Z" 
["description"]=> 
NULL 
["explicitlyTrashed"]=> 
NULL 
["fileExtension"]=> 
NULL 
["folderColorRgb"]=> 
NULL 
["fullFileExtension"]=> 
NULL 
["headRevisionId"]=> 
NULL 
["iconLink"]=> 
NULL 
["id"]=> 
string(35) "1St7nQ3X3-ocrMUC2t-r6NOVc4xIdfhbIgg" 
["imageMediaMetadataType":protected]=> 
string(48) "Google_Service_Drive_DriveFileImageMediaMetadata" 
["imageMediaMetadataDataType":protected]=> 
string(0) "" 
["isAppAuthorized"]=> 
NULL 
["kind"]=> 
NULL 
["lastModifyingUserType":protected]=> 
string(25) "Google_Service_Drive_User" 
["lastModifyingUserDataType":protected]=> 
string(0) "" 
["md5Checksum"]=> 
NULL 
["mimeType"]=> 
string(9) "video/mp4" 
["modifiedByMeTime"]=> 
NULL 
["modifiedTime"]=> 
string(24) "2016-12-27T11:55:43.958Z" 
["name"]=> 
string(12) "MOV_1950.mp4" 
["originalFilename"]=> 
NULL 
["ownedByMe"]=> 
NULL 
["ownersType":protected]=> 
string(25) "Google_Service_Drive_User" 
["ownersDataType":protected]=> 
string(5) "array" 
["parents"]=> 
NULL 
["permissionsType":protected]=> 
string(31) "Google_Service_Drive_Permission" 
["permissionsDataType":protected]=> 
string(5) "array" 
["properties"]=> 
NULL 
["quotaBytesUsed"]=> 
NULL 
["shared"]=> 
NULL 
["sharedWithMeTime"]=> 
NULL 
["sharingUserType":protected]=> 
string(25) "Google_Service_Drive_User" 
["sharingUserDataType":protected]=> 
string(0) "" 
["size"]=> 
NULL 
["spaces"]=> 
NULL 
["starred"]=> 
NULL 
["thumbnailLink"]=> 
NULL 
["trashed"]=> 
NULL 
["version"]=> 
NULL 
["videoMediaMetadataType":protected]=> 
string(48) "Google_Service_Drive_DriveFileVideoMediaMetadata" 
["videoMediaMetadataDataType":protected]=> 
string(0) "" 
["viewedByMe"]=> 
NULL 
["viewedByMeTime"]=> 
NULL 
["viewersCanCopyContent"]=> 
NULL 
["webContentLink"]=> 
string(82) "https://drive.google.com/uc?id=1St7nQ3X3-ocrMUC2t-r6NOVc4xIdfhbIgg&export=download" 
["webViewLink"]=> 
string(85) "https://drive.google.com/file/d/1St7nQ3X3-ocrMUC2t-r6NOVc4xIdfhbIgg/view?usp=drivesdk" 
["writersCanShare"]=> 
NULL 
["internal_gapi_mappings":protected]=> 
array(0) { 
} 
["modelData":protected]=> 
array(0) { 
} 
["processed":protected]=> 
array(0) { 
} 
}... 
+0

あなたの投稿があまりにも広すぎるように複数の質問があります。 [ask]を参照してください。あなたはまた、2分のサイト[ツアー]を取ることも気にしませんでした。 –

+0

質問を改訂し、二次質問を削除しました。 – boogysi

答えて

0

これはドライブのAPIからの応答がどのように見えるかですitems.thumbnailLink

てみ応答の

$drive_service = new Google_Service_Drive($client); 

$optParams = array(
'pageSize' => 4, 
'q' => "'0B_nSMgQioOWwNy1ha0tFWEE0QWs' in parents and mimeType contains 'video/'", 
'fields' => 'nextPageToken, files(id, name, modifiedTime, mimeType, createdTime, thumbnailLink, webContentLink, webViewLink)' 
); 

return $files_list = $drive_service->files->listFiles($optParams)->getFiles(); 

とのvar_dump:

はここで私が使用しているコードです。

{ 
"kind": "drive#fileList", 
"etag": "\"m64ksZC09nG4-fB1IRF3vg/1C1ON4SO5V-To1u55k7dU\"", 
"selfLink": "https://www.googleapis.com/drive/v2/files?corpus=DEFAULT", 
"nextPageToken": "V1*3|0|ChwwQjdXTWpmWkhhWHllTW1ObtQq", 
"nextLink": "https://www.googleapis.com/drive/v2/files?corpus=DEFAULT&pageToken=V1*3%7C0%7CChwwQjdVUnFTR05mZGpREgcQsonGqtQq", 
"items": [ 
    { 
    "kind": "drive#file", 
    "id": "1DpsZKiII1pOsHxDrJDzBb_aW841Ovhm8pE5FCI", 
    "etag": "\"m64ksZC09nG4-fB1IRF3vg/1C1ON4SO5V-To1u55k7dU\"", 
    "selfLink": "https://www.googleapis.com/drive/v2/files/1DpsZKiII1pOsHbrEzvxDrJDzBb_aW841Ovhm8pE5FCI"... 

    }, 
    "defaultOpenWithLink": "https://docs.google.com/spreadsheets/d/1DpsZKihm8pE5FCI/edit?usp=drivesdk", 
    "iconLink": "https://ssl.gstatic.com/docs/doclist/images/icon_11_spreadsheet_list.png", 
    "thumbnailLink": "https://docs.google.com/feeds/vt?gd=true&id=1DpsZKiInoAAAAAWGPVboChWb270pOAY0M5hMr3FNa-IX6G&sz=s220", 
    "title": "Document Title", 
    "mimeType": "application/vnd.google-apps.spreadsheet", 
    "labels": { 
    "starred": false, 
    "hidden": false, 
    "trashed": false, 
    "restricted": false, 
    "viewed": true 
    },... 

+0

こんにちはエロン、返信ありがとうございます。私はこれがv2で動作しているに違いないと思うが、v3ではそうではないようだ。最初の質問を私が使用しているリクエストコードとレスポンスで更新しました。ここで 'thumbnailLink'は無視されます(' null'を返します)。 – boogysi

1

は、あなたが適切に正しいスコープを使用する場合はダブルチェックしてください。すべてのユーザーのファイルにアクセスするには、完全な許可範囲としてhttps://www.googleapis.com/auth/driveを使用することをお勧めします。それでも動作しない場合は、提案された解決策hereを試してください。

0

は、私はあなたのファイルのリストを取得しようとしている知っているが、これは一つだけからのリンクを取得しますが、これは私をたくさん助けただろう、と私はそれが他の人に潜在的に有用であることをコンセプトに十分に類似だと思います。

function getThumbnailUrl($fileId) 
{ 
    $service = new Google_Service_Drive($this->client()); 
    $params = array('fields' => 'hasThumbnail, thumbnailLink'); 
    $file = $service->files->get($fileId, $params); 
    $url = $file->getThumbnailLink(); 

    return $url; 
} 

getFiles()を使用して複数のファイルのサムネイルリンクを取得できたかどうかはまだ興味があります。

関連する問題