![](/img/trans.png)
[英]How to logout from spotify [Authentication Library] [spotify-android-auth-1.0]
[英]Logout from Spotify with the sdk spotify-android-auth
我有一个 Android 应用程序,用户可以链接到 Spotify,带有:AuthenticationClient.openLoginActivity(getActivity(), SPOTIFY_REQUEST_CODE, request);
问题是我希望用户更改他的 Spotify 帐户,所以我想从 Spotify 注销用户以使用另一个帐户登录。 但是连接的数据保存在缓存中,当我再次使用这一行时:“AuthenticationClient.openLoginActivity(getActivity(), SPOTIFY_REQUEST_CODE, request);”,它不显示连接对话框,因为用户已经连接。
在文档中,它说:“要注销并清除所有存储的令牌,请使用 AuthenticationClient#clearCookies 方法。Spotify 和 Facebook 令牌都将被删除。”
但是 clearCookies 方法不再存在。 我可以做些什么来注销用户并允许他连接到另一个帐户?
Spotify 的 Android SDK 文档肯定已经过时了。 我的观察是当你打电话时
AuthorizationClient.clearCookies(context)
直接在开始 Spotify 的身份验证活动之前,它工作正常。 但是,如果您调用它一次,然后期望用户已注销,那么当您以后启动活动时,缓存的凭据会一直乱七八糟。
我不喜欢
builder.setScopes(arrayOf("")).setShowDialog(false).build()
因为它向您显示“不是您?单击以注销”选项。 所以基本上你需要在 Spotify UI 上注销,不能从代码中完成。
在我的例子中,应用程序保存了登录用户的 email(无论如何我需要在 UI 上显示)。 当我想以编程方式注销用户时,我只需从应用程序中删除保存的 email 并调用
clearCookies()
如果变量为空,则当我启动 Spotify 的 Activity 时。
我在网上搜索过,似乎这段代码
AuthenticationRequest.Builder builder = new AuthenticationRequest.Builder(CLIENT_ID, type, redirectUri)
.setShowDialog(true)
.setScopes(scopes).build();
从这篇文章中获取信息是尝试注销用户的唯一选择。
我无法对其进行测试,因此您应该自己尝试一下,看看是否可行。
Spotify Android SDK上的文档已过时,并且没有反映GitHub上新的Spotify身份验证库。
有点晚了,但你可以使用这个AuthorizationClient.clearCookies(this)
因为AuthenticationClient
不再存在
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.