我尝试将 Retrofit 库与 Imgur 的 API 结合使用,但没有成功。我不断收到 403 Permission Denied 错误。 Imgur 用于我尝试执行的操作的唯一授权是通过 header ,我(相信)我做得正确。我当前的代码如下:
<小时/>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)
最佳答案
哈哈,我傻了...
方法getImage
具有注释@POST("/image/{id}")
而不是@GET("/image/{id}")
关于java - 将 Retrofit 与 Imgur 的 API 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28800515/