java - 如何修复“com.spotify.android.appremote.api.error.AuthenticationFailedException”
问题描述
我正在制作一个使用 Spotify 应用程序远程 SDK 的 Android 应用程序。但是在连接到 Spotify 服务器时会出错。该代码与 SDK 中包含的 Spotify 示例项目的代码相同。我将客户端 ID 和重定向 URI 值更改为我的,但它给出了身份验证错误。
我正在使用版本 0.6.3
先感谢您!
package com.example.geekxy;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import com.spotify.android.appremote.api.ConnectionParams;
import com.spotify.android.appremote.api.Connector;
import com.spotify.android.appremote.api.SpotifyAppRemote;
public class LoginSpotify extends AppCompatActivity {
private static final String CLIENT_ID = "bxxxxxxxxxxxxxxxxxxxxxxxxd7";
private static final String REDIRECT_URI = "com.example.geekxy://callback";
private SpotifyAppRemote mSpotifyAppRemote;
private TextView testo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_spotify);
}
@Override
protected void onStart() {
super.onStart();
testo = findViewById(R.id.stato);
ConnectionParams connectionParams = new ConnectionParams.Builder(CLIENT_ID)
.setRedirectUri(REDIRECT_URI)
.showAuthView(true)
.build();
SpotifyAppRemote.connect(this, connectionParams, new Connector.ConnectionListener() {
@Override
public void onConnected(SpotifyAppRemote spotifyAppRemote) {
mSpotifyAppRemote = spotifyAppRemote;
Log.d("Main Activity", "Connected!");
Connected();
}
@Override
public void onFailure(Throwable throwable) {
Log.e("MyActivity", throwable.getMessage(), throwable);
testo.setText("NOT WORKS");
}
});
}
@Override
protected void onStop() {
super.onStop();
SpotifyAppRemote.disconnect(mSpotifyAppRemote);
}
private void Connected() {
mSpotifyAppRemote.getPlayerApi().getPlayerState();
mSpotifyAppRemote.getPlayerApi().skipNext();
testo.setText("IT WORKS");
}
}
E/MyActivity: {"message":"com.spotify.mobile.android.spotlets.appprotocol.model.AppProtocol$Message"} com.spotify.android.appremote.api.error.AuthenticationFailedException: {"message":"com .spotify.mobile.android.spotlets.appprotocol.model.AppProtocol$Message"} 在 com.spotify.android.appremote.api.LocalConnector.asAppRemoteException(LocalConnector.java:131) 在 com.spotify.android.appremote.api。 LocalConnector.access$000(LocalConnector.java:35) at com.spotify.android.appremote.api.LocalConnector$1.onConnectionFailed(LocalConnector.java:111) at com.spotify.android.appremote.internal.SdkRemoteClientConnector$ConnectionTask.onPostExecute( SdkRemoteClientConnector.java:142)在 com.spotify.android.appremote.internal.SdkRemoteClientConnector$ConnectionTask。onPostExecute(SdkRemoteClientConnector.java:75) 在 android.os.AsyncTask.finish(AsyncTask.java:695) 在 android.os.AsyncTask.access$600(AsyncTask.java:180) 在 android.os.AsyncTask$InternalHandler.handleMessage( AsyncTask.java:712) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread.java:7078 ) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit .java:964) 引起:com.spotify.protocol.client.error.RemoteClientException: {"message":"com.spotify.mobile.android.spotlets.appprotocol.model.AppProtocol$Message"com.spotify.protocol.client.RemoteWampClient.getRemoteClientException(RemoteWampClient.java:139) 在 com.spotify.protocol.client.RemoteWampClient.access$200(RemoteWampClient.java:16) 在 com.spotify.protocol.client.RemoteWampClient $1.onAbort(RemoteWampClient.java:44) 在 com.spotify.protocol.client.WampRouterImpl.routeAbort(WampRouterImpl.java:100) 在 com.spotify.protocol.client.WampRouterImpl.route(WampRouterImpl.java:26) 在 com .spotify.protocol.client.AppProtocolCommunicator.onData(AppProtocolCommunicator.java:78) 在 com.spotify.android.appremote.internal.RemoteServiceIo.handleMessage(RemoteServiceIo.java:113) 在 com.spotify.android.appremote.internal.RemoteServiceIo .access$000(RemoteServiceIo.java:47) 在 com.spotify.android.appremote.internal。RemoteServiceIo$IncomingHandler.handleMessage(RemoteServiceIo.java:91) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:214) 在 android.app.ActivityThread.main (ActivityThread.java:7078) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os .ZygoteInit.main(ZygoteInit.java:964)RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
解决方案
推荐阅读
- python - 我应该使用 if 语句还是循环?
- python - 将传单地图添加到 PyQt5
- c# - 如何翻转 MediaPlayer 视频
- javascript - 如何在卡片操作按钮组中使用对话框
- php - 自动加载转储后脚本因错误而终止
- postgresql - 在 Hasura 中跟踪 SQL 函数
- ag-grid - Ag-grid 动态隐藏 rowGroupPanel
- python - Python:将浮点数组元素更改为整数值,但python以浮点格式输出整数值
- sql-server - 无需截断或删除订阅者数据库表的事务复制设置
- docker - GCP docker 身份验证:使用 gcloud 如何比仅使用 JSON 密钥文件更安全?