2016-02-21 3 views
7

Я пытался запустить пример приложения, найденного здесь Github Sample. Я создал сертификат и создал ключ API и применял его в соответствии с инструкциями. Но когда я загружаю изображение, я получаю это исключение. Я не знаю, где я ошибся. Я что-то пропустил?Google Cloud Vision API Permission Denied

failed to make API request because { 
    "code": 403, 
    "errors": [{ 
     "domain": "global", 
     "message": "Requests from this Android client application <empty> are blocked.", 
     "reason": "forbidden" 
    }], 
    "message": "Requests from this Android client application <empty> are blocked.", 
    "status": "PERMISSION_DENIED" 
} 
+1

Любые удачи?Я вроде как сталкиваюсь с той же проблемой! –

+1

Я также сталкиваюсь с той же проблемой. – KnowIT

+1

@ amalan-dhananjayan Есть ли вероятность, что вы установили идентификатор пакета в ключ API? Я предполагаю, что это может быть та же проблема, что и для iOS-образцов. https://github.com/GoogleCloudPlatform/cloud-vision/issues/16 Я увижу, может быть, есть набор клиентских библиотек для Android, которые мы должны использовать вместо Java. –

ответ

5

Я была такая же проблема. но я решаю это.

Если вы добавите ключ API браузера, ваш код будет работать хорошо.

+0

Ваш ответ верный. Он работает, но это не правильно, мы не можем правильно отслеживать квоту данных с помощью этого быстрого исправления. @Tim_Swat работает над этой проблемой от Google. Спасибо buddy :) –

+1

Хорошо работает и даже отслеживает использование для моего дела @AmalanDhananjayan – PSKapadia

+1

как найти браузер API-ключ ??? – Pranita

0

Что вы изменили в проекте Android? Убедитесь, что вы включили API облачного зрения и включили биллинг. Все, что мне нужно было сделать, это добавить мой ключ API в MainActivity, используя тот же образец из Github.

Посмотрите на мою screenshot

+0

разделить то, что вы добавили в качестве пакета приложения. Я столкнулся с одной и той же проблемой, биллинг включен, но каждый запрос завершается ошибкой –

+0

sample.google.com.cloudvision - это то, к чему пришел образец, и я не реорганизовал имя пакета самостоятельно. Надеюсь это поможет. – Derivative

+0

Не могли бы вы помочь нам решить эту проблему. Думаю, это должно быть связано с возможностью выставления счетов. Я создал ключ API и назначил его переменной CLOUD_VISION_API_KEY. Включили ли биллинг и облачный api для моего проекта, а также –

5

Я подозреваю, что вы создаете ключ API Android, ограниченный вашим приложением, с зарегистрированным отпечатком sha1.

Это замечательно! К сожалению, non-android-specific Google API java client library еще не полностью поддерживает запросы API для ключей api для Android, как это делает android-specific. Это означает, что запросы API не включают некоторые заголовки, которые аутентифицируют ключ/приложение в конечной точке API, что вызывает эту ошибку (обратите внимание на client application <empty> в сообщении об ошибке: <empty> будет вашим именем пакета, если запрос был сформирован как ожидалось).

Я все еще ищу, что с этим делать - будет обновляться, если/когда я его найду.

+0

Вам повезло найти обходное решение? –

0

некоторые проблемы здесь, и я исправлю это !!!!!

просто положил ключ сервера !!

enter image description here

надеюсь, что его помощь кто-то

0

Я считаю, с помощью клавиши браузера будет решить вашу проблему. Но фактическое решение этого - использование ключа OAuth. Как и Android-приложение.

  1. Для этого перейдите в раздел учетных данных из бокового меню в Cloud Developer Console.
  2. Нажмите на раскрывающееся меню учетных данных и выберите идентификатор клиента OAuth.
  3. Выберите тип приложения, как Android.
  4. Добавьте подходящее имя, например, клиент Android для Cloud Vision API
  5. Введите свой отпечаток SHA1 в требуемом формате. Используя указанную команду на экране.
  6. Укажите имя пакета для вашего приложения, его можно указать в поле по умолчанию: defaultConfig.
  7. Нажмите, чтобы создать.

Это выдержка из полного учебника here.

Смежные вопросы