2017-11-10 127 views
0

我想從我的個人Google照片帳戶下載完整圖像。如何使用Google Picker v3的`id`從谷歌照片下載原始圖像

圖像本身是用iPhone 6+拍攝的,分辨率爲2448×3264,但目前爲止我可以獲得的最大尺寸是384x512的縮略圖尺寸。

下面是來自谷歌選取器API V3返回的數據:

> data.docs[0] 
{ 
    id:"6249684261772136370", 
    mediaKey:"AF1QipPWLtKuyF09rcIQd4UT2tjb1YxkWSypm6PHXfeX", 
    mimeType:"application/vnd.google-apps.photo", 
    name:"IMG_5853.JPG", 
    parentId:"6249684260517294833", 
    serviceId: "picasa", 
    thumbnails: (5) [{…}, {…}, {…}, {…}, {…}], 
    type:"photo", 
    url:"https://picasaweb.google.com/105232457300095210093/ALBUM_NAME#HASH" 
} 

以下是請求使用的OAuth2

"https://www.googleapis.com/auth/userinfo.email", 
"https://www.googleapis.com/auth/userinfo.profile", 
"https://www.googleapis.com/auth/photos", 
"https://www.googleapis.com/auth/drive", 
"https://picasaweb.google.com/data/" 

這裏的access_token當我宣佈scopes是我發送到請求gdata版本設置爲3的「圖像元數據」端點:https://picasaweb.google.com/data/entry/api/user/default/albumid/6249684260517294833/photoid/6249684261772136370

並獲取以下XML返回https://pastebin.com/jgXEqftN<content type="image/jpeg" src="..." />下的圖像仍然是縮略圖。

我知道必須有一種方法可以工作,因爲公司像filestack可以下載完整大小的圖像。任何意見/建議?


請注意,我知道Google照片和Google驅動器是兩種不同的產品。但是,因爲你可以通過谷歌驅動器訪問來自谷歌的照片圖像,並且還選擇器的文檔中,它明確gives an example使用谷歌驅動器V3 API的,我還以爲我給的例子一試:

curl --header "Authorization: Bearer ya29.GlsABSW1XLQRocTsxsFlGKmVnx3iCwjAxQCFWG-3YH9nM6IYdLyp8x9v4XLglUEMK1XKsgf8SjYzRpbHJa5xDat5M7PcOfJhViOZAa-S6aAGuWKPe98AJ_y2QtH7" https://www.googleapis.com/drive/v3/files/6244822006604119090\?alt\=media 
{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "notFound", 
    "message": "File not found: 6244822006604119090.", 
    "locationType": "parameter", 
    "location": "fileId" 
    } 
    ], 
    "code": 404, 
    "message": "File not found: 6244822006604119090." 
} 
} 
+0

你是否已經嘗試從[選取器API開發人員指南]搜索的JavaScript代碼(https://developers.google.com/picker/docs/#top_of_page)? '本文檔適用於希望將Google Picker API添加到其頁面的開發人員。基本的JavaScript流暢度是必需的。「示例代碼是在一些常見的場景中給出的,您可以試試看。 –

回答

0

的問題得到解決,但並非沒有挫折感和爲什麼沒有記錄在任何地方的刺痛感。

爲了得到原始圖像,我需要URL來破解任何返回的縮略圖網址。例如,下面給出

注意的/s72在URL中。用/s0代替它,我們就可以得到未經處理的圖像。想要圖像爲1024像素寬?通過/s1024。這裏是這樣做的

thumbnail_url.replace(/\/s\S+?\//g, "/s0/")