Код 403: «В запросе отсутствует действительный ключ API».PERMISSION_DENIED Ключ учетной записи службы Google Cloud Vision PHP - PullRequest
0 голосов
/ 02 апреля 2019

Я хочу реализовать Google Cloud Vision с ImageAnnotator, используя служебный ключ. То, что я пробовал, выглядит так:

Ошибка:

Сообщение: { "ошибка": { «код»: 403, "message": "В запросе отсутствует действительный ключ API.", "status": "PERMISSION_DENIED" } }

Когда попробуйте этот код:

defined('BASEPATH') OR exit('No direct script access allowed');

use Google\Cloud\Vision\VisionClient;

class Admin_center extends CI_Controller {
    function __construct() {
        parent::__construct();

        include APPPATH . 'third_party/vendor/autoload.php';
    }

    public function index() {
        $this->load->view('index');
    }

    function upload_ocr_image() {               
        $img_data = $this->upload->data();                                          

        $vision = new VisionClient(['keyfile' => json_decode(file_get_contents(base_url().'assets/google_cloud_vision/credentials.json'), true)]);

        $imageRes = fopen($img_data['full_path'], 'r');
        $image = $vision->image($imageRes,['Text_Detection']);
        $result = $vision->annotate($image);

        print_r($result);
    }
}

Я использовал служебную учетную запись ключ.

Почему я получил ошибку: 403 Permissin Denied и отсутствует правильный ключ API?

Отредактировано:

Я следую этому руководству на YouTube:

https://www.youtube.com/watch?v=K-tpjOT7k-o

https://www.youtube.com/watch?v=PqAXE67fwu8&t=2s

Спасибо

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

Наконец-то ЭТО РАБОТАЛО после 5 часов борьбы за поиск проблемы.

На самом деле код, который я разместил выше, работает. Я просто неправильно набрал имя массива.

Итак, эта строка:

$vision = new VisionClient(['keyfile' => json_decode(file_get_contents(base_url().'assets/google_cloud_vision/credentials.json'), true)])

«ключевой файл» должен быть «ключевой файл» с «F» в верхнем регистре.

Вот и все.

Спасибо за все, что вы помогаете ..

0 голосов
/ 02 апреля 2019

Просто замените 'credentials.json' на путь к фактическому файлу ... который он не может найти так же, как.

...