代码之家  ›  专栏  ›  技术社区  ›  pgsandstrom

使用Android AccountManager获取gdata的authtoken

  •  3
  • pgsandstrom  · 技术社区  · 15 年前

    因此,我正在尝试同步到google文档,而不必询问用户的凭据。我使用以下代码获取身份验证令牌:

    AccountManager mgr = AccountManager.get(activity);
    authToken = mgr.blockingGetAuthToken(account, DocsService.DOCS_SERVICE, true);
    

    这将返回一个格式良好的auth令牌。所以在我的文档服务中我运行:

    service.setAuthSubToken(authToken);
    

    但是,当我尝试使用API时,我只得到一个AuthenticationException。关于如何处理这个错误有什么想法吗?

    3 回复  |  直到 15 年前
        1
  •  6
  •   Yaniv Inbar    15 年前

    问题是返回的令牌是ClientLogin令牌,而不是AuthSub令牌。一个更大的问题是gdatajava客户端库没有正式支持Android。我们最近在gdatajava客户机库的主页上添加了一个注释,我们推荐它用于Android Google API Client Library for Java 相反。

    calendar-v2-atom-android-sample docs-v3-atom-oauth-sample

    披露:我是gdatajava客户机库和googleapi客户机库的所有者。

        2
  •  2
  •   Nitin Jain    14 年前

    您可能还想看看Yaniv的GoogleI/O2011会话幻灯片/视频,以了解如何在Android上访问GDataAPI。

    http://www.google.com/events/io/2011/sessions/best-practices-for-accessing-google-apis-on-android.html

        3
  •  0
  •   Lucifer phtrivier    14 年前

    正如亚尼夫所解释的,gdatalib在Android中不起作用。我浪费了几个小时没有结果。它看起来很奇怪,它是谷歌的产品,但在自己的平台(Android)中仍然不受支持。

    http://code.google.com/p/google-spreadsheet-lib-android/

    你可以试试。

    推荐文章