小编Gui*_*pol的帖子

如何在 Android 移动应用程序上的 PhotosLibrarySettings 对象中插入凭据。使用 Google 登录

在用户通过 Google 登录进行身份验证并被授权使用 Google Photos Library API 后,我不知道如何将凭据传递给 Google Photos Library API。

我正在开发一个移动应用程序(没有后端服务器,只是安装了Android应用程序)。用户的目标是:

  1. 身份验证(使用谷歌帐户)

  2. 授权应用程序使用Google照片库

  3. 管理照片。

第1点和第2点在我的项目中没问题。为此,我使用 Google 登录。一切正常。但第 3 点不起作用:我不知道如何在 PhotosLibrarySetting 对象中插入凭据:

PhotosLibrarySettings 设置 = PhotosLibrarySettings.newBuilder() .setCredentialsProvider(FixedCredentialsProvider.create("在此处添加凭据").build();

我尝试插入“credentials json”文件,例如

GoogleCredentials.fromStream(getAssets().open("system" + File.separator + "credentials.json"))

但仅适用于服务帐户密钥(在 Google API 控制台中),而我没有它。我只在 Google API 控制台中创建了 2 个凭据:一个用于 Android 的 oAuthClientID,一个用于 Web 客户端的 oAuthClientID(为 Google 登录自动创建)。下载最后一个客户端 ID 的 json 凭据不起作用。

我还尝试在使用 GoogleSignIn 进行身份验证和授权后使用从 GoogleSignInOptions (getIdToken 函数)检索的令牌,如下所示:

// acc为用户账号对应的对象

AccessToken tken = new AccessToken(acc.getIdToken(), new Date(System.currentTimeMillis()+3000000)); GoogleCredentials.newBuilder().setAccessToken(tken).build()))

但我收到一个错误:

UNAUTHENTICATED:请求的身份验证凭据无效。需要 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。

java android google-photos google-signin

6
推荐指数
0
解决办法
443
查看次数

标签 统计

android ×1

google-photos ×1

google-signin ×1

java ×1