- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从 Google 相册中获取我的相册列表。我正在使用新的 REST API。
我写了执行 GET 请求的代码:
GET
https://photoslibrary.googleapis.com/v1/albums
根据官方指南:https://developers.google.com/photos/library/guides/list
并且此代码仅返回状态为 200 的响应,但没有 json 主体:
list :
public static void main(String[] args) throws IOException, GeneralSecurityException, ServiceException, ParseException {
GoogleCredential credential = createCredential();
if (!credential.refreshToken()) {
throw new RuntimeException("Failed OAuth to refresh the token");
}
System.out.println(credential.getAccessToken());
doGetRequest(credential.getAccessToken(), "https://photoslibrary.googleapis.com/v1/albums");
}
private static GoogleCredential createCredential() {
try {
return new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(emailAccount)
.setServiceAccountPrivateKeyFromP12File(ENCRYPTED_FILE)
.setServiceAccountScopes(SCOPE)
.setServiceAccountUser(emailAccount)
.build();
} catch (Exception e) {
throw new RuntimeException("Error while creating Google credential");
}
}
private static void doGetRequest(String accessToken, String url) throws IOException, ParseException {
logger.debug("doGetRequest, with params: url: {}, access token: {}", accessToken, url);
HttpGet get = new HttpGet(url);
get.addHeader("Authorization",
"Bearer" + " " + accessToken);
HttpClient client = HttpClientBuilder.create().build();
HttpResponse response = client.execute(get);
String json = EntityUtils.toString(response.getEntity());
System.out.println(json);
}
我还尝试使用其他 REST 客户端(例如 Postman),我收到的结果相同:
{}
最佳答案
看起来您正在使用服务帐户访问 API。 Service accounts Google Photos Library API 不支持。
您需要为 Web 应用程序 设置 OAuth 2.0,如 here 所述:
然后,您将使用此页面上返回的 client Id
和 client secret
作为请求的一部分。如果您需要离线访问,这意味着当用户不在浏览器中时访问,您还可以请求 offline
access_type
并使用 refresh tokens
以保持访问权限。
看起来您正在使用 Google API Java 客户端,它也支持此流程。通过调用 setClientSecrets(..)
在构建器上设置客户端 secret 像这样:
return new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setClientSecrets(CLIENT_ID, CLIENT_SECRET)
.build();
您还需要在您的应用程序中处理来自 OAuth 请求的回调,您将在开发者控制台中配置的回调 URL 收到访问 token 。
documentation for the client library 中还有一个更完整的示例.
关于java - 如何使用新的 Google Photos API 获取用户相册列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50471240/
这就是我现在拥有的,它适用于单个图像。 curl -vH "Authorization: Client-ID 3e7a4deb7ac67da" -F image=@/path/to/image htt
我有一套 PDF 相册模板(它们在文本和照片应该放置的地方有空白方 block )。我的需求是使用这些模板来生成实际的相册。 我的计划是使用 iText 和 Java。我会向应用程序发送一组要使用的所
我有一个包含多个字段的表单,用户需要通过附加图像数量的选项来感受: '; $num++; } ?> 提交后,它会在数据库中创建一个名为“album”的表,如下所示: fun
我创建了一个 Facebook 相册并拥有相册 ID。我可以使用/photos API 将照片上传到相册。但我无法使用类似/videos API 的方式上传视频。我收到错误消息: “(#200)用户没
我的代码是这样的: oldPicker = [[UIImagePickerController alloc] init]; if([UIImagePickerController isSourceTy
我正在实现一个 iPhone 应用程序,我必须从 Facebook 相册中检索图像并将这些照片显示为应用程序中的图库。我有这个链接 http://www.facebook.com/media/set/
我可以通过将数据发布到 使用 facebook graph api 创建相册 http://graph.facebook.com/ALBUM_ID/albums 它返回一个 id,这不是相册 id。
我是 Swift 的新手,我正在尝试使用 fetchAssetCollections 创建一个简单地返回屏幕截图相册中照片数量的函数 我有 func getNumScreenshots() -> In
我在使用权限上传到特定 Facebook 相册时遇到问题。 我被设置为特定 Facebook 页面的管理员,但是每当我尝试上传照片时,我似乎无法获得执行此操作的权限。 我得到的错误是: Fatal e
对于相册,我看到大多数人使用 3 个表: 专辑相片相册。 但是,如果我查看像 facebook 这样的网站,这个模式将不起作用(如果我理解正确的话),因为我的个人资料相册和一般相册中可能有一张照片,但
我正在编写一个程序来在本地备份我的 Google 相册库,上周代码运行良好,但在过去的几天里,我反复从 API 客户端收到错误消息,说“photoslibrary v1”不存在在 Google 的 A
似乎大多数方法都指向UIImageWriteToSavedPhotosAlbum(),但是在iOS 6及更高版本中,您需要用户权限才能写入相机胶卷,因此,如果他们说“no”,我希望能够调用代码。 是否
我想用Java制作简单的相册。要做到这一点,我认为这将是使用网格布局协调图片的最简单方法。 我有图片的缓冲图像,我正在尝试使用以下代码将它们添加到网格布局中, BufferedImage a
我正在制作一个数据采集应用程序,它可以让医生拍摄皮肤病的照片以供以后用于人工智能/机器学习目的,所以我的应用程序将有一个拍照按钮来拍照,假设有 4 个标签或按钮命名疾病(水痘,湿疹等)一旦用户拍照,他
我有一个 nodejs (+express + mongodb,gridstore) 后端,想上传一张照片到 facebook 相册。 我遇到了两种方法。第一个 ( https://developer
我正在尝试使用 Google Photos API增量上传一个非常大的本地照片库。 一切正常,但在上传大约 1.2GB 后,请求开始被拒绝并显示以下消息: Insufficient tokens fo
从youtube到google +很容易。但另一方面 我有一个Google Plus个人资料和与其链接的YouTube channel 。但是-从youtube-我看不到我的google +相册中的视
我正在尝试在 iPhone 应用程序中获取 facebook 用户的任何专辑。 这是我正在使用的 fql 查询 NSString *query = [NSString stringWithFormat
我正在尝试利用 Google Photos 幻灯片构建一个由 Raspberry Pi 驱动的数字相册。理想情况下,我希望能够通过 Selenium 自动化登录过程,然后使用 BeautifulSou
我正在尝试使用 Picasa Web Albums API 重构 Java 应用程序使用新的 Google 相册 API。 在 Picasa API 中,您有 PhotoEntry 对象,它代表上传的
我是一名优秀的程序员,十分优秀!