繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM