![](/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.