使用sdk spotify-android-auth从Spotify注销

时间:2017-05-30 16:21:13

标签: android sdk token spotify logout

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

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

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

但是clearCookies方法不再存在了。如何退出用户并允许他在另一个帐户上进行连接?

2 个答案:

答案 0 :(得分:2)

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

AuthorizationClient.clearCookies(context) 

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

我不喜欢

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

因为它显示了“不是你?点击退出”选项。所以基本上你需要在 Spotify UI 上注销,不能通过代码来完成。

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

clearCookies()

如果变量为空,当我启动 Spotify 的活动时的东西。

答案 1 :(得分:0)

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

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

this张贴,发布它是您尝试退出用户的唯一选择。

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

Spotify Android SDK上的文档已过时,并未反映GitHub上新的Spotify auth库。