我将此作为一个相关问题的答案发布,但它被版主删除了,所以我现在将此作为一个问题发布。相关问题是
从Google Photos访问共享相册
我正在尝试使用JavaScript访问谷歌照片共享相册。使用Picasa Web albums Data API更容易处理使用Picasa创建的公共相册。
我开发了一个特殊的解决方案来解析共享专辑URL的HTML内容,例如https://photos.google.com/share/<album>?key=<key>
解析函数为
function getgooglephotos2(result)
{
var r2 = result.substr(result.search("AF_initDataCallback\("));
var r3 = r2.substr(0, r2.search("https://video"));
var img = r3.search("https:");
while (img != -1) {
var r4 = r3.substr(img);
var imgend = r4.search(""");
var r5 = r4.substr(0, imgend);
// r5 contains an image url
r3 = r4.substr(imgend);
img = r3.search("https:");
}
}
我更喜欢更简洁的方法。任何想法?
谢谢。
PS:似乎使用身份验证,我可以到达一个谷歌照片共享相册,但我正试图实现一个解决方案,不需要身份验证共享(公共)相册。这里有一个链接
https://adodson.com/hello.js/demos/albums.html更简单的测试方法是
在picasa上验证并获取用户id
https://picasaweb.google.com
认证后到达
https://get.google.com/albumarchive/<userid>?source=pwa
使用Picasa Web Albums Data API获取相册列表
https://picasaweb.google.com/data/feed/api/user/<userid>
我只是在开发不需要身份验证的应用程序。无论如何,你需要指出应该显示哪个相册。在我的项目中,我使用Firebase来存储共享相册的url。然后请求URL并使用正则表达式获取照片。为了检索照片,我使用了本教程:
https://medium.com/@ValentinHervieu how-i-used-google-photos-to-host-my-website-pictures-gallery-d49f037c8e3c
目前没有办法直接从Google Photos访问共享的相册而不需要身份验证。