将API密钥放在Google Cloud Vision for PHP中的位置

时间:2018-11-10 14:14:39

标签: php api google-cloud-platform google-cloud-vision

我想在全家福上使用Google Cloud Vision API。我在我的GCP帐户上激活了API,收到了API密钥,但是我不知道应该在哪里插入它。这是我的代码:

<?
require 'vendor/autoload.php';
use Google\Cloud\Vision\VisionClient;
$vision = new VisionClient();
$image = $vision->image(
    fopen('data/family_photo.jpg', 'r'),
    ['faces']
);
$annotation = $vision->annotate($image);
var_dump($annotation);
die();

?>

我收到以下错误:“错误”:{“代码”:403,“消息”:“请求缺少有效的API密钥。”,“状态”:“ PERMISSION_DENIED”}}。

更新:感谢Dan D.提供的答案,我添加了以下行:

putenv("GOOGLE_APPLICATION_CREDENTIALS=book.json");

1 个答案:

答案 0 :(得分:4)

我认为,要使用Google Cloud PHP SDK,您需要使用服务帐户。 如此处(https://github.com/googleapis/google-cloud-php/blob/master/AUTHENTICATION.md所述,您将需要一个环境变量设置,该设置指向带有凭据的JSON文件。

$ export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_account_file>

您还可以按照本指南(https://cloud.google.com/video-intelligence/docs/common/auth)创建服务帐户并生成JSON文件。 希望这会有所帮助。