Java:Android:reformation-使用Call-but,Response{code=401,message=unauthorized}

Java:Android:reformation-使用Call-but,Response{code=401,message=unauthorized},java,android,retrofit,retrofit2,Java,Android,Retrofit,Retrofit2,试图通过MovieDatabase API使用改型来访问内容,但我遇到了一个崩溃,没有抛出任何异常或错误消息。。。我是新手,但我搜索了一些文档,这就是我所拥有的(我使用的是改装2.0): String movieToSearch=“战斗”; 字符串端点=”https://api.themoviedb.org/3"; 字符串API_KEY=“&API_KEY=-----------------------------------”; 改装适配器=新改装.Builder() .baseUrl(端点)

试图通过MovieDatabase API使用改型来访问内容,但我遇到了一个崩溃,没有抛出任何异常或错误消息。。。我是新手,但我搜索了一些文档,这就是我所拥有的(我使用的是改装2.0):

String movieToSearch=“战斗”;
字符串端点=”https://api.themoviedb.org/3";
字符串API_KEY=“&API_KEY=-----------------------------------”;
改装适配器=新改装.Builder()
.baseUrl(端点)
.addConverterFactory(GsonConverterFactory.create())
.build();
TMDBAPI apiService=adapter.create(TMDBAPI.class);
字符串查询=movieToSearch+API_键;
Call Call=apiService.getMovieList(查询);
call.enqueue(新回调(){
@凌驾
公共响应(响应、改装){
List movieList=(response.body());
}
@凌驾
失效时的公共无效(可丢弃的t){
}
});
我在这里干什么/

[编辑]我在端点添加了一个/并将界面中的方法更改为:
@GET(“搜索/电影”)
调用getMovieList(@Query(“Query”)字符串查询)

现在的问题是,响应的body=null,在rawResponse中,它有一条消息说= 响应{协议=http/1.1,代码=401,消息=Unauthorized,url=


我必须设置客户端吗?

好的,我可以看到您的问题,搜索应该是这样做的:

http://api.themoviedb.org/3/search/movie?api_key=###&query=iron sky

所以,问题是你是如何形成URL的。

我知道我做错了什么,我提出的请求的结果,在json中提供了更多的对象…只需创建一个带有上述字段和列表的对象。

但是有什么错误,一些例外?请添加更多信息,你设置了正确的权限吗?internet权限?y我有互联网许可证。我想你需要在你的请求之前进行测试,我通常使用邮递员来完成这项任务,一个我已经清除了请求然后可以去改装的任务。好的,这很酷,我已经尝试过了,它工作得很好。阅读后,我更改了字符串API_KEY=----只是为了值,并将查询和API_KEY作为参数传递,并使用了动态标题:调用searchMovieList(@Query(“Query”)String Query,@Header(“api_key”)String key);但仍然不起作用我使用了postman应用程序,在查询后它与apikey一起工作,但在方法中,我应该使用Query或Header,或者只使用1个查询,全部调用getMovieList(@Query(“Query”)String Query,@Query(“api_key”)字符串api_键);通过该更改,它不会到达call.enqueue(…)方法。不会给出错误或异常。call call=apiService.getMovieList(查询,api_键);
http://api.themoviedb.org/3/search/movie?api_key=###&query=iron sky