如何使用Google Picker v3的`id`从谷歌照片下载原始图像
问题描述:
我想从我的个人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."
}
}
答
的问题得到解决,但并非没有挫折感和为什么没有记录在任何地方的刺痛感。
为了得到原始图像,我需要URL来破解任何返回的缩略图网址。例如,下面给出
注意的/s72
在URL中。用/s0
代替它,我们就可以得到未经处理的图像。想要图像为1024像素宽?通过/s1024
。这里是这样做的
thumbnail_url.replace(/\/s\S+?\//g, "/s0/")
你是否已经尝试从[选取器API开发人员指南]搜索的JavaScript代码(https://developers.google.com/picker/docs/#top_of_page)? '本文档适用于希望将Google Picker API添加到其页面的开发人员。基本的JavaScript流畅度是必需的。“示例代码是在一些常见的场景中给出的,您可以试试看。 –