【问题标题】:Logout from Spotify with the sdk spotify-android-auth使用 sdk spotify-android-auth 从 Spotify 注销
【发布时间】:2017-10-31 05:30:42
【问题描述】:

我有一个 Android 应用,用户可以将其链接到 Spotify,其中包含: AuthenticationClient.openLoginActivity(getActivity(), SPOTIFY_REQUEST_CODE, request);

问题是我希望用户更改他的 Spotify 帐户,所以我想从 Spotify 注销用户以使用另一个帐户登录。但是连接的数据保存在缓存中,当我再次使用这一行时: “AuthenticationClient.openLoginActivity(getActivity(), SPOTIFY_REQUEST_CODE, request);”,因为用户已经连接,所以不显示连接对话框。

在文档中,它说: “要注销并清除所有存储的令牌,请使用 AuthenticationClient#clearCookies 方法。Spotify 和 Facebook 令牌都将被删除。”

但是 clearCookies 方法已经不存在了。我可以做些什么来注销用户并允许他连接到另一个帐户?

【问题讨论】:

    标签: android sdk token spotify logout


    【解决方案1】:

    我在网上搜索过,似乎是这段代码

    AuthenticationRequest.Builder builder = new AuthenticationRequest.Builder(CLIENT_ID, type, redirectUri)
               .setShowDialog(true)
               .setScopes(scopes).build();
    

    取自 this 帖子,这是您尝试注销用户的唯一选择。

    我无法测试它,所以你应该自己尝试一下,看看是否有效。

    Spotify Android SDK 上的文档已过时,并未反映 GitHub 上新的 Spotify 身份验证库。

    【讨论】:

    • 好的,谢谢!它有效,我认为这是我目前能做的最好的事情。
    【解决方案2】:

    Spotify 的 Android SDK 文档肯定已经过时了。我的观察是当你打电话时

    AuthorizationClient.clearCookies(context) 
    

    就在开始 Spotify 的身份验证活动之前,它运行良好。但是,如果您调用它一次,然后期望用户已注销,那么当您以后启动活动时,缓存的凭据会一直乱七八糟。

    我不喜欢

    builder.setScopes(arrayOf("")).setShowDialog(false).build()

    因为它向您显示“不是您?单击以注销”选项。所以基本上你需要在 Spotify UI 上登出,不能从代码中完成。

    在我的例子中,应用程序保存了登录用户的电子邮件(无论如何,我需要它显示在 UI 上)。当我想以编程方式注销用户时,我只需从应用程序中删除保存的电子邮件并调用

    clearCookies()

    如果变量为空,当我启动 Spotify 的 Activity 时。

    【讨论】:

      猜你喜欢
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 2017-01-25
      • 2016-09-17
      相关资源
      最近更新 更多