当前位置: 首页 > 知识库问答 >
问题:

集成谷歌照片库API在Android应用程序

松旭
2023-03-14

我想集成谷歌照片api在Android,我已经做了谷歌登录过程中,但我不能得到访问令牌,因为我得到错误的FixedCreentalsProvider.create方法,而传递参数

PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/ Add credentials here. /)) 
    .build();

try (PhotosLibraryClient photosLibraryClient =
    PhotosLibraryClient.initialize(settings)) {

    // Create a new Album  with at title
    Album createdAlbum = photosLibraryClient.createAlbum("My Album");

    // Get some properties from the album, such as its ID and product URL
    String id = album.getId();
    String url = album.getProductUrl();

} catch (ApiException e) {
    // Error during album creation
}

共有1个答案

呼延弘方
2023-03-14

我找到了解决这个问题的办法

UserCredentials.newBuilder()
            .setClientId("your client id")
            .setClientSecret("your client secret")
            .setAccessToken("Access Token")
            .build()

您可以将此UserCredentials对象传递给“FixedCredentialsProvider”。创建())

使用获取访问令牌

val client = OkHttpClient()
            val requestBody = FormEncodingBuilder()
                    .add("grant_type", "authorization_code")
                    .add("client_id", "")
                    .add("client_secret", "")
                    .add("redirect_uri", "")
                    .add("code", "yourweb server id)
                    .build()
            val request = Request.Builder()
                    .url("https://www.googleapis.com/oauth2/v4/token")
                    .post(requestBody)
                    .build()
            client.newCall(request).enqueue(object : Callback {
                override fun onFailure(request: Request, e: IOException) {

                }

                @Throws(IOException::class)
                override fun onResponse(response: Response) {
                    try {
                        val jsonObject = JSONObject(response.body().string())

                        mTokenExpired = SystemClock.elapsedRealtime() + jsonObject.optLong("expires_in") * 1000

                        accessTokenObservable.postValue(Resource.success("",jsonObject.optString("access_token")))


                    } catch (e: JSONException) {
                        e.printStackTrace()
                    }

                }
            })

https://github.com/erickogi/AndroidGooglePhotosApi

希望有帮助

 类似资料:
  • 有人听说过com吗。谷歌。Android应用程序。照片。准许谷歌照片?我似乎在文档中的任何地方都找不到它,但运行4.3及以上版本的用户例外。 如果你有任何关于它的信息,请分享 谢谢你

  • 我的应用程序有能力从库中选择照片。正是我想要的文件路径从这个选择。

  • 我合作的公司有许多客户使用谷歌广告为他们的网站做营销。公司希望使用客户的数据进行分析。我得到了一个项目,使用C#集成谷歌广告API,从谷歌广告中获取所有数据,如活动等,并将其移动到我们的系统中为每个客户端。我只给开发人员令牌和客户端的客户ID。例如 客户A的客户ID 客户B的客户ID 当我浏览谷歌广告API文档时,我有点不知所措。在文档中,是OAuth2。0需要创建才能使用客户端库,该库将生成客户

  • 很长一段时间以来,我一直在研究如何保存片段之间的状态,所以当我返回时,就好像你从未离开过一样。谷歌照片就是一个重要的例子。当你滚动浏览你的照片,然后转到另一个片段并返回时,你会保持原样。我的问题是,既然我的应用程序加载了不同的片段,当它们返回到这些片段时,它们会被重新创建,而不是像谷歌照片那样加载以前的状态,那么这怎么可能实现呢。我所尝试的: 定义nav_host_fragment的部分代码,因为

  • 我试图选择在Android上使用意图的照片。所有作品和照片正在检索从任何照片应用程序(相机,画廊,截图等...即使从新的照片应用程序中选择);除了那些在谷歌照片上备份在线。 在获得位图时,在人像拍摄的照片将在风景中检索。我有代码来获取照片的方向,这样我就可以相应地翻译,但是在新的谷歌照片应用程序上选择在线照片时,方向总是0。任何想法,我应该如何获得这些照片的方向,因为0正在返回?代码如下-谢谢。

  • 我开发了一个功能,可以从设备库中获取所有照片。并在我的应用程序的列表中显示它们。现在我需要从“谷歌照片”中获取照片,我似乎找不到一个简单的方法来实现它。