Отсутствует ключ API для Google Cloud - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь использовать Google Natural Language API для PHP, и, следуя инструкциям, я получаю сообщение об ошибке в приложении, которое я написал:

Неустранимая ошибка: Uncaught Google \ Cloud \ Core \ Exception \ ServiceException: { "error": {"code": 403, "message": "В запросе отсутствует действительный API key. "," status ":" PERMISSION_DENIED "}}

Я скачал файл ключа учетной записи, запустил экспорт, но получаю ошибку 403.

Я создал символическую ссылку на файл в папке проекта, запустил экспорт, но получаю ошибку 403.

Я поместил экспорт в файл ".bash_profile", вышел из сеанса терминала, но получаю ошибку 403.

Укажите учетные данные для аутентификации в коде приложения, установив переменная окружения GOOGLE_APPLICATION_CREDENTIALS. замещать [PATH] с путем к файлу JSON, который содержит ваш сервис ключ учетной записи и [FILE_NAME] с именем файла. Только эта переменная применяется к текущему сеансу оболочки, поэтому, если вы открываете новый сеанс, установите переменную снова .

Когда я запустил: echo $GOOGLE_APPLICATION_CREDENTIALS экспорта нет, поэтому я запустил его снова, но получаю ошибку 403.

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

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

Так что, некоторые советы приветствуются!

1 Ответ

0 голосов
/ 05 сентября 2018

просто не используйте экспорт; в то время как ваш ~/.bashrc не является Apache .bashrc.

но добавьте путь к файлу прямо в код PHP; например. в config.php.

или использование putenv('GOOGLE_APPLICATION_CREDENTIALS=/var/www/[FILE_NAME].json');

при запрете доступа HTTP к этому файлу с помощью .htaccess.

или можно даже настроить с помощью .htaccess, например

SetEnv GOOGLE_APPLICATION_CREDENTIALS "/var/www/[FILE_NAME].json"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...