簡體   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