使用Imgur的API进行Retrofit

时间:2015-03-01 23:25:19

标签: java image api retrofit imgur

我试图在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)

1 个答案:

答案 0 :(得分:1)

哈哈,傻乎乎的......

方法getImage包含注释@POST("/image/{id}")而不是@GET("/image/{id}")