펩시티433
158
2020-02-11 17:16:54 작성 2020-02-11 17:18:36 수정됨
2
686

카카오 검색 api에서 cannot find app key 라고 뜨는 문제 질문 있습니다.


Retrofit을 사용해서 책 검색 api를 이용해 보려고 하는데요.


public interface KakaoSearchService {

    @Headers({"Authorization: KakaoAK 앱키"})
    @GET("/v3/search/book")
    Call<SearchResult> getBookList(@Query("query")String searchKeyword);

}


public class ApiClient {

private Retrofit retrofit;
public KakaoSearchService searchService;
public static ApiClient apiClient = new ApiClient();
public static final String baseUrl = "https://dapi.kakao.com";

public ApiClient(){
retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build();

searchService = retrofit.create(KakaoSearchService.class);
}

public static ApiClient getInstance(){
return apiClient;
}
}
private void search(){
String keyword = searchEditText.getText().toString();

Call<SearchResult> call = ApiClient.getInstance().searchService.getBookList(keyword);

Callback<SearchResult> callback = new Callback<SearchResult>() {
@Override
public void onResponse(Call<SearchResult> call, Response<SearchResult> response) {
if(response.isSuccessful()){
SearchResult searchResult = response.body();
Log.d("SearchFragment" , searchResult.getDocuments() + " " + call.request().url().toString());

}else{
Log.e("SearchFragment", response.errorBody().toString() + " " + call.request().url().toString());
}
}

@Override
public void onFailure(Call<SearchResult> call, Throwable t) {

}
};

call.enqueue(callback);
}


일단은 테스트만 해보려고 위와 같이 Hearders 부분에 앱키를 담아서 시도중인데 cannot find app key라고 뜹니다.

안드로이드에서 카카오 검색 api 사용한(Retrofit도 활용) 예제가 없어서 헤매고 있습니다.

카카오 api 사용해 보신분들 도움 주시면 감사하겠습니다. 그리고 공식 가이드에서 설명하는 app_key는 네이티브 앱키가 맞는건가요 REST API 키가 맞는건지도 헷갈립니다.

0
  • 답변 2

  • 난한놈만패
    1k
    2020-02-11 19:10:37

    카카오 검색 API 사용을 위해서는 개발자 등록이 필요할듯하네요

    개발자 등록후 검색 API 를 위한 개발자 코드를 발급받은후 그후에 소스상에 넣으시면 될듯합니다

    그리고 공식 가이드에서 설명하는 app_key는 네이티브 앱키가 맞는건가요 REST API 키가 맞는건지도 헷갈립니다.

     -> 네 맞습니다

  • 펩시티433
    158
    2020-02-11 20:23:23

    실수가 있어 현재는 해결하였습니다.

    답변 감사드립니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.