2014-06-13 3 views
6

Google 맞춤 검색은 내 iPhone 7.1 앱에서이 403 오류를 표시합니다. 시뮬레이터에서 실행할 때의 응답입니다.Google 맞춤 검색 : iOS에서 403 오류

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "usageLimits", 
    "reason": "accessNotConfigured", 
    "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project." 
    } 
    ], 
    "code": 403, 
    "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project." 
} 
} 

아래 단계에 결함이 있습니까? iOS 앱 전용 CSE 설정 프로세스를 만들고 싶습니다. 각 단계의 스크린 샷은 도움이되고 혼동하지 않을 것입니다!

  1. 설치 프로그램에서 https://www.google.com/cse/

  2. 에서 맞춤 검색 엔진 (CSE) 만들기 -> 기본, 검색 엔진 ID를 얻을. CSE search engine ID

  3. 테스트 어떤 테스트 쿼리 조건에 https://developers.google.com/apis-explorer/#p/customsearch/v1/search.cse.list

    • 설정 "Q"2 단계
    • 보도의 검색 엔진 ID로 ("foo는 바") 및 "CX"에서 CSE "실행"하고 검색 결과를 받으십시오. 그들은 일한다. 구글은 8 Google API Explorer test results
  4. 는, 자신에게 ID 및 결제 목적을 위해 키를 얻을 https://console.developers.google.com/

  5. 아래에서 새 프로젝트를 만들려면 우리는 다시 사용할 수 있습니다 엑스 코드 단계에서이 URL을 제공합니다 API & auth -> APIs -> '맞춤 검색 API'사용 다른 API는 사용할 수 없습니다. Developer Console APIs

  6. API 아래 & 인증 -> 자격증 명 -> 새 iOS 키를 만듭니다. Developer Console Credentials 참고 : 브라우저 키를 사용해도 검색 결과에 "오류 400 : 잘못된 값"이 반환되었습니다. iOS를 사용 중이므로 오류가 덜 심각한 것 같아서 iOS 키로 돌아 왔습니다.

  7. 이 키에 Xcode의 번들 식별자를 추가하십시오. Xcode bundle identifier

  8. Xcode에서 3 단계의 URL에 GET 요청을 만드십시오. 6-7 단계에서 자격 증명의 키로 {YOUR_API_KEY}을 (를) 대체하십시오.

GET request in Xcode

이있는 NSData *이 반응은 위의 에러 (403)를 포함한다. 무엇이 잘못되었는지 주셔서 감사합니다!

+0

동일한 오류가 발생했습니다. 이에 대한 해결책이 있습니까? 알림을 위해 – suhit

+0

주셔서 감사합니다! 나는 나를 위해 일한 것으로 대답했다. – Orbusii

+1

이 질문은 내가 여기있는 완벽한 과정을 이해하는 데 도움이되었는데, 그것이 작동하도록하기 위해 알아 두어야 할 모든 것입니다 : http://stackoverflow.com/a/27039037/656600 – rptwsthi

답변

6

헤더 필드가 누락되었습니다. X-Ios-Bundle-Identifier.

NSString *bundleID = @"com.yourCompany.yourApp"; 
//...define request as above 
[request setHTTPMethod:@"GET"]; 
[request setValue:bundleID forHTTPHeaderField:@"X-Ios-Bundle-Identifier"]; 
+0

정말 고마워요! 그건 내 문제를 해결했습니다. – Joshua