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

在Drive SDK v.2和Google Drive Android API之间共享凭据

牟华翰
2023-03-14

这是a在尝试实施新的Google Drive Android API(GDAA)时陷入的另一个坑:
我的应用程序的活动A需要GDAA不支持的功能,因此我根据此处的声明使用原始的Google Drive SDK v2。:

在某些情况下,应用程序可能需要使用Google Drive web服务来访问其他功能或访问比Google Drive Android API中可用的范围更广的功能。在这些情况下,您的应用程序必须使用Google API Client Library for Java。

身份验证序列是标准的:

...
GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE_FILE);
credential.setSelectedAccountName(accountName);
...

具有DRIVE_FILE范围的身份验证/授权是成功的。

在活动B中,我使用GDAA,完成标准序列

  1. x=新的GoogleAppClient。建筑商(此)。。。。build()
  2. x、 connect()
  3. onConnectionFailed()
  4. StartResult()的解决方案

这就是问题所在。用户已经在活动A中完成了帐户选择和授权,但GDAA对此一无所知。这会再次弹出新的帐户选择对话框。所以问题是:
有没有一种方法可以将初始化的凭据传递给GDAA,而不会再次监听用户(范围相同)
如果应用程序需要同时使用Google Drive SDK v2和GDAA(对于任何但最普通的应用程序可能都是这样),那么多次显示帐户选择对话框肯定会成为一个阻碍。

共有1个答案

许波涛
2023-03-14

构建新的GoogleAppClient时,可以显式设置帐户名。

x = new GoogleApiClient.Builder(this)
       .addScope(Drive.SCOPE_FILE)
       .setAccountName(accountName)...

由于应用程序已为该帐户授权,它将自动连接。

 类似资料:
  • Windows版本和内部版本2004(操作系统内部版本19037.1) windows上安装的docker 运行诸如,,,等命令都可以正常工作。现在我想推一个图像,所以当然我必须先登录。 我在WSL终端中运行

  • 我正在做一个phonegap应用程序,我不能在index.html和inappbrowser窗口之间共享数据。我尝试了这段代码,但它对我不起作用。 我还尝试使用localStorage,但只将inappbrowser的数据共享到index.js,而不是将index.js的数据共享到inappbrowser。

  • 问题内容: 是否有使用节点,表达和redis / predis共享PHPSESSID的最新指南(或示例代码)? 我发现有1-2年的一些教程,它们都使用旧版本的Express或不使用Express。 Express cookie解析器也已弃用。 https://simplapi.wordpress.com/2012/04/13/php-and-node-js-session-share- redi/

  • 我有两个问题。我理解,如果我在cookie中指定域为(带前导点),那么所有子域都可以共享一个cookie。 是否可以访问在中创建的cookie(没有子域)? 如果在中创建,(没有子域)是否可以访问cookie?

  • 问题内容: 有没有办法在Netbeans和Eclipse之间共享相同的* .java文件? 问题答案: 您可以将eclipse项目导入netbeans, 或者,您可以从现有资源创建Eclipse项目。

  • null 在列出的3个选项中,只有最后一个可以使用projectile(可能还有其他Emacs包)。但我需要能够访问/修改文件从Windows以及,所以这不是一个可行的选择。 有没有人为此找到好的解决方案?