Node.js 如何将api密钥传递给Google Cloud Vision NodeJS api
const vision=require(“@google cloud/vision”)Node.js 如何将api密钥传递给Google Cloud Vision NodeJS api,node.js,google-cloud-vision,Node.js,Google Cloud Vision,const vision=require(“@google cloud/vision”) 我可以找到的所有示例要么使用从环境变量获得的凭据,要么使用JSON凭据文件,但我想使用API键调用API。如何做到这一点?如果您使用的是客户端库,则必须使用JSON文件或环境变量中的凭据进行身份验证。如果要使用API密钥,则必须直接向API发送POST请求(阅读有关验证Vision API的更多信息)。示例cURL命令如下所示: curl -s -H 'Content-Type: application/j
我可以找到的所有示例要么使用从环境变量获得的凭据,要么使用JSON凭据文件,但我想使用API键调用API。如何做到这一点?如果您使用的是客户端库,则必须使用JSON文件或环境变量中的凭据进行身份验证。如果要使用API密钥,则必须直接向API发送POST请求(阅读有关验证Vision API的更多信息)。示例cURL命令如下所示:
curl -s -H 'Content-Type: application/json' 'https://vision.googleapis.com/v1/images:annotate?key=XXXXXXX_MY_API_KEYXXXXXXXXXXXXXXX' -d ' {
"requests": [
{
"image": {
"source": {
"imageUri": "gs://bucketname/objectname.jpg"
}
},
"features": [
{
"type": "LABEL_DETECTION",
"maxResults": 1
}
]
}
]
} '
我也有同样的问题要解决。经过一番挖掘,我得到了一个在单发枪声中工作的咆哮解决方案 确保已安装所需的节点模块:
npm install @google-cloud/vision
const vision = require('@google-cloud/vision');
const {GoogleAuth, grpc} = require('google-gax');
const apiKey = '**********';
function getApiKeyCredentials() {
const sslCreds = grpc.credentials.createSsl();
const googleAuth = new GoogleAuth();
const authClient = googleAuth.fromAPIKey(apiKey);
const credentials = grpc.credentials.combineChannelCredentials(
sslCreds,
grpc.credentials.createFromGoogleCredential(authClient)
);
return credentials;
}
async function main(fileName) {
const sslCreds = getApiKeyCredentials();
const client = new vision.ImageAnnotatorClient({sslCreds});
const [result] = await client.faceDetection(fileName);
const faces = result.faceAnnotations;
//your custom code
}