[英]TwiML app and Firebase throwing Unhandled promise rejection: Error: Could not load the default credentials
[英]Google Cloud Throwing Error : Could not load the default credentials in Nodejs
我已将此服务帐户密钥(my-key.json)文件存储在我的下载文件夹(ubuntu)中,然后我将此命令运行到我的控制台中
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
根据谷歌云。 现在我正在运行此代码,但它会引发错误。
const language = require('@google-cloud/language');
const quickstart = async function () {
// Instantiates a client
const client = new language.LanguageServiceClient();
// The text to analyze
const text = 'Hello, world!';
const document = {
content: text,
type: 'PLAIN_TEXT',
};
// Detects the sentiment of the text
const [result] = await client.analyzeSentiment({document: document});
const sentiment = result.documentSentiment;
console.log(`Text: ${text}`);
console.log(`Sentiment score: ${sentiment.score}`);
console.log(`Sentiment magnitude: ${sentiment.magnitude}`);
}
quickstart();
**ERORR** -
(node:13928) UnhandledPromiseRejectionWarning: Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.
at GoogleAuth.getApplicationDefaultAsync (/home/hardy/Documents/personal/project/node_modules/google-auth-library/build/src/auth/googleauth.js:154:19)
at processTicksAndRejections (internal/process/task_queues.js:94:5)
at async GoogleAuth.getClient (/home/hardy/Documents/personal/project/node_modules/google-auth-library/build/src/auth/googleauth.js:485:17)
at async GrpcClient._getCredentials (/home/hardy/Documents/personal/project/node_modules/google-gax/build/src/grpc.js:88:24)
at async GrpcClient.createStub (/home/hardy/Documents/personal/project/node_modules/google-gax/build/src/grpc.js:213:23)
如果您使用node <file-name>.js
来初始化您的代码,您应该将命令更新为
GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json" node <file-name>.js
这将使 GOOGLE_APPLICATION_CREDENTIALS 在您的节点环境中可用。
但是,作为长期解决方案,我建议创建一个.env
文件并将GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
在该文件中。
然后按以下方式在js
文件的开头使用dotenv
package:
require('dotenv').config();
您也可以参考https://stackoverflow.com/a/27090755/7743705
了解如何在pacakge.json
中设置环境变量。
为了能够使用 npm 运行而无需每次都设置凭据
"scripts": {
"start": "set GOOGLE_APPLICATION_CREDENTIALS=[PATH]/credentials.json&& nodemon server.js"
},
有关如何使用 env 的更多原因,您可以访问如何从 package.json 中设置环境变量? 以获得更全面的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.