代码 403:"The request is missing a valid API key." PERMISSION_DENIED服务帐户密钥 谷歌云视觉 PHP



我想使用服务密钥通过 ImageAnnotator 实现 Google Cloud Vision。我尝试的如下所示:

错误:

消息:{ "错误":{ "代码":403, "消息": "请求缺少有效的 API 密钥。 "状态": "PERMISSION_DENIED" } }

尝试此代码时:

defined('BASEPATH') OR exit('No direct script access allowed');
use GoogleCloudVisionVisionClient;
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 许可被拒绝并缺少有效的 API 密钥?

编辑:

我遵循了这个YouTube教程:

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

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

谢谢

终于,经过 5 个小时的努力,它找到了问题。

实际上,我在上面发布的代码是有效的。我只是错误地键入了数组名称。

所以这行:

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

应该是"密钥文件","F"是大写的。

就这样。

谢谢你的帮助。

只需将'credentials.json'替换为实际文件的路径...它找不到类似的。

相关内容

最新更新