2017-06-04 85 views
0

我在驅動器v3中成功創建映像文件,但無法檢索文件的URI;我期待在成功的response_object中找到它。node.js/google drive sdk v3:訪問webContentLink(和所有圖像元數據)

我發現在response_object文件ID,我可以用它來構建一個URI顯示圖像:

https://drive.google.com/file/d/0Bw4DMtLCtPMkNERiTnpVNDdQV2c/view

我想有「官方/正確的」 URI手以Google雲端視覺API作爲圖片來源。我想我正在尋找webContentLink v3文件元數據。我想,更一般地說,我看不到如何獲取我剛剛創建的文件的所有元數據(如https://developers.google.com/drive/v3/reference/files所述)。

 var newFileMetadata = { 
      'name': unique_file_name, 
      description: options.multipart, 
      useContentAsIndexableText: false, 
      parents: [ file.id ] 
     }; 

     var media = { 
      mimeType: 'image/jpg', 
      body: fs.createReadStream(options.src_dir + '/' + sourceFile), 
      viewersCanCopyContent: true, 
      writersCanShare: true 
     }; 

     var request_object = drive.files.create({ 
      auth: auth, 
      resource: newFileMetadata, 
      media: media, 
      fields: ['id'] 
      }, 
      function(err, response) { 
       if (err) { 
       console.log('drive.files.create error: %s %s', err, response); 
       return; 
       } else { 
       // file create success; get response 
       console.log('dump the response\n %s', JSON.stringify(response)); 
       } 
      } 
     ); // end of drive.files.create() 

和控制檯輸出是(以Cr爲可讀性):

轉儲request_object

{ 「URI」: { 「協議」: 「https:」 開頭, 「斜線」 :true, 「auth」:null, 「host」:「www.googleapis.com」, 「port」:null, 「hostname」:「www.googleapis.com」, 「hash」:null, 「search」:「?fields = id & uploadType =「multipart」, 「query」:「fields = id & uploadType = multipart」, 「pathname」:「/ upload/drive/v3/files」, 「path」:「/ upload/drive/v3/files?字段= ID & uploadType =多部分 「 」HREF「:」 https://www.googleapis.com/upload/drive/v3/files?fields=id&uploadType=multipart 「}, 」方法「:」 POST」, 「報頭」:{ 「授權」: 「承載ya29.GlxfB18oVtG6A3j7cXzSq17-RSmj9-2BlQm4zHD5sPzKkfhRM1FxlxUHc9mxWaka1N2fBiTJun-SYLB8ewuc63XVbUo01q0bS2FiS6iJTq9O1h9FQWfoO5r8E6z_6Q」 , 「User-Agent」:「google-api-nodejs-client/0.10.0」,「host」:「www.googleapis.com」, 「transfer-encoding」:「chunked」, 「content-type 「:」 多部分/相關; 邊界= d6cef3f5-2246-5654-ac1f-d00561be5e8a 「}}

轉儲響應 {」 ID 「:」 0Bw4DMtLCtPMkNERiTnpVNDdQV2c「}

回顧一下:

  • 我怎麼弄(在Node.js中)適用於新創建的Google Drive v3映像文件的Google Cloud Vision適當URI?
  • 如何獲取(在Node.js中)新創建的Google Drive v3映像文件的元數據?

非常感謝。

新的信息:我已經嘗試了不同的drive.files.get()

   drive.files.get({ 
        auth: auth, 
        fileId: response.id 
       }, 
       function(err, response) { 
        if (err) { 
        console.log('drive.files.get error: %s %s', err, response); 
        return; 
        } else { 
        // file create success; get properties 
        console.log('get properties\n %s', JSON.stringify(response)); 
        } 
       }); 

,我確實收到了一些元數據(但不是大圖),控制檯輸出,新上傳:

獲取屬性 {「kind」:「drive#file」,「id」:「0Bw4DMtLCtPMkWFdTMUVwY2tRZ2c」,「name」:「2017-06-04T17:57:42.189Zlovelock。PNG」,‘mime類型’:‘圖像/ PNG’}

回答

0

使用Files.get從文檔中指定要取得webContentLink‘田’參數將返回只是使用Try-它

可以獲取元數據的完整列表Files resource被發現。

出於測試目的,通過你的fileId here和運行執行。