현재 버전

안드로이드 자바 retrofit

카카오 검색 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 키가 맞는건지도 헷갈립니다.


수정 이력

2020-02-11 17:18:36 에 아래 내용에서 변경 됨 #2

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 사용해 보신분들 도움 주시면 감사하겠습니다.

2020-02-11 17:17:26 에 아래 내용에서 변경 됨 #1

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도 활용) 예제가 없어서 헤매고 있습니다.