accessNotConfigured: API сокращения URL-адресов Google на симуляторе iOS

Я интегрировал Google URL-Shorten API в свое приложение для iOS только для тестирования. Идентификатор пакета моего приложения добавлен мной в список Authorized iOS Applications для отправки запроса.

Но всякий раз, когда я отправляю запрос HTTP POST с помощью NSURLRequest, я получаю в ответ следующую ошибку JSON :

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured. The API is not enabled for your project, or there is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your configuration.",
    "extendedHelp": "https://console.developers.google.com"
   }
  ],
  "code": 403,
  "message": "Access Not Configured. The API is not enabled for your project, or there is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your configuration."
 }
}

Я не могу понять, как это решить. Я сделал одно предположение: «Может быть, мне придется использовать API в онлайн-приложении».

Поддерживающая ссылка на мое предположение взята из документации по API.

If your application accesses APIs directly from iOS, you will need the application's Bundle ID and (optionally) its Apple App Store ID:

The application's Bundle ID is the bundle identifier as listed in the app's .plist file. For example: com.example.myapp.
The application's App Store ID is in the app's iTunes URL so long as the app was published in the Apple iTunes App Store. For example, in the app URL http://itunes.apple.com/us/app/google+/id447119634, the App Store ID is 447119634.

person vinay    schedule 19.12.2014    source источник


Ответы (3)


При настройке ключа API НЕ указывайте необязательный идентификатор пакета iOS, если только вы не используете OAuth 2.0. Использование ключей Google API для iOS

Я столкнулся с той же ошибкой, удалил идентификатор пакета и очистил 403, все еще используя ключ API в почтовом запросе HTTP с помощью NSURLSession.

Вы можете устранить ошибку, войдя в консоль разработчиков Google, щелкнув «Учетные данные» в разделе «API и аутентификация», а затем щелкнув имя ключа API. Затем вы получите экран, на котором вы можете удалить идентификатор пакета iOS, связанный с ключом API. Затем нажмите кнопку «Сохранить» и повторите попытку.

person drshock    schedule 02.11.2015

Как указано в ошибке, вы неправильно настроили доступ к API или не аутентифицируете приложение.

Авторизация запросов и идентификация вашего приложения

Каждый запрос, который ваше приложение отправляет в Google URL Shortener API, должен идентифицировать ваше приложение в Google. Есть два способа идентифицировать ваше приложение: с помощью токена OAuth 2.0 (который также авторизует запрос) и/или с помощью ключа API приложения. Вот как определить, какой из этих вариантов использовать:

Вам необходимо настроить проект в консоли разработчика Google и включить URL Shorter API и используйте либо ключ API для доступа к нему, либо Oauth2.

person DaImTo    schedule 19.12.2014

Возможно, вы пропустили передачу ключей API. Вы можете увидеть, как передать ключ здесь.

person grandagile    schedule 22.05.2015