我试图在Imgur的API中使用Retrofit库但没有成功。我一直收到403 Permission Denied错误。 Imgur用于我尝试做的唯一授权是通过标题,我相信我正确地做了。我目前的代码如下:
package me.rabrg.imgur;
import me.rabrg.imgur.response.Image;
import me.rabrg.imgur.service.ImageService;
import retrofit.RequestInterceptor;
import retrofit.RestAdapter;
public class ImgurApi {
private final RestAdapter restAdapter;
private final ImageService imageService;
public ImgurApi(final String clientId) {
this.restAdapter = new RestAdapter.Builder().setEndpoint("https://api.imgur.com/3").setRequestInterceptor(new RequestInterceptor() {
@Override
public void intercept(final RequestFacade request) {
request.addHeader("Authorization", "Client-ID " + clientId);
}
}).build();
this.imageService = restAdapter.create(ImageService.class);
}
public Image getImage(final String id) {
return imageService.getImage(id);
}
}
package me.rabrg.imgur.service;
import me.rabrg.imgur.response.Image;
import retrofit.http.POST;
import retrofit.http.Path;
public interface ImageService {
@POST("/image/{id}")
Image getImage(@Path("id") String id);
}
new ImgurApi(clientId).getImage(id)
答案 0 :(得分:1)
方法getImage
包含注释@POST("/image/{id}")
而不是@GET("/image/{id}")