我正在制作一个使用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: {“消息”:“ com.spotify.mobile.android.spotlets.appprotocol.model.AppProtocol $ Message”} com.spotify.android.appremote.api.error.AuthenticationFailedException: {“消息”:“ 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) 在com.spotify.android.appremote.api.LocalConnector $ 1.onConnectionFailed(LocalConnector.java:111) 在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(本机方法) 在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: {“消息”:“ 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(本机方法) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)