我有一个安卓应用程序,用户可以链接到Spotify,上面有: AuthenticationClient.openLoginActivity(getActivity(),SPOTIFY_REQUEST_CODE,request);
问题是,我希望用户更改他的Spotify帐户,所以我想从Spotify中注销用户,以便使用另一个帐户登录。但是连接的数据保存在缓存中,当我再次使用这一行时:"AuthenticationClient.openLoginActivity(getActivity(),SPOTIFY_REQUEST_CODE,request);“它没有显示连接对话框,因为用户已经连接了。
在文档中,它说:“要注销和清除所有存储的令牌,请使用AuthenticationClient#clearCookies方法。Spotify和Facebook都将被删除。”
但是clearCookies方法不再存在。我能做什么来注销用户并允许他在另一个帐户上连接?
发布于 2017-05-30 16:38:53
我在网上搜索过,似乎这段代码
AuthenticationRequest.Builder builder = new AuthenticationRequest.Builder(CLIENT_ID, type, redirectUri)
.setShowDialog(true)
.setScopes(scopes).build();从这帖子中获取,这是您尝试注销用户的唯一选择。
我不能测试它,所以你应该自己试一试,看看是否有效。
Spotify Android SDK上的文档已经过时,没有反映GitHub上新的Spotify auth库。
发布于 2021-06-17 21:12:43
Spotify的Android文档绝对过时了。我的观察是当你打电话
AuthorizationClient.clearCookies(context) 在开始Spotify的auth活动之前,它只是工作得很好。但是,如果您调用它一次,然后期望用户被注销,那么当您以后开始该活动时,缓存的凭据会一直乱七八糟的。
我不喜欢
builder.setScopes(arrayOf("")).setShowDialog(false).build()
它向您显示了“不是您?单击以注销”选项。因此,基本上您需要在Spotify UI上登录,不能通过代码完成。
在我的例子中,应用程序保存登录用户的电子邮件(无论如何,我需要它在UI上显示)。当我想以编程方式登录用户时,我只需从应用程序中删除保存的电子邮件,然后调用。
clearCookies()
当我启动Spotify的活动时,如果变量是空的。
发布于 2022-09-10 07:45:44
有点晚了,但是您可以使用这个AuthorizationClient.clearCookies(this),因为AuthenticationClient不再存在。
https://stackoverflow.com/questions/44267340
复制相似问题