我有一个节点应用程序,我正在尝试使用Google语言api。我想将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为同一目录中的json文件(同级package.json和app.js)。
我已经在我的app.js文件中尝试了IdentityUserRole<Guid>
(使用express),但是它不起作用。我还尝试过将process.env.GOOGLE_APPLICATION_CREDENTIALS = "./key.json";
放入package.json中,但效果不佳。当我在终端"GOOGLE_APPLICATION_CREDENTIALS":"./key.json"
中运行时,它确实起作用。
这是错误消息:
export GOOGLE_APPLICATION_CREDENTIALS="./key"
感谢任何提示,谢谢!
答案 0 :(得分:1)
在阅读了有关此问题的文章之后,为我解决此问题的唯一方法是为节点执行声明环境变量:
GOOGLE_APPLICATION_CREDENTIALS="./key.json" node index.js
因为我能够从服务器控制台打印令牌,但是当我运行节点应用程序时,该库无法检索系统环境值,但是设置执行变量可以检索该值
答案 1 :(得分:0)
您正在设置的GOOGLE_APPLICATION_DEFAULT环境变量可以通过google客户端库访问-它将无法使用相对路径,您需要设置绝对路径。
答案 2 :(得分:0)
可能是您的OS中的环境变量未设置。例如,在Linux中,通常必须在执行应用程序的终端中设置GOOGLE_APPLICATION_CREDENTIALS。
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
您拥有的另一个选项是通过代码传递json路径。 documented是使用Node.js和云存储的过程。
答案 3 :(得分:0)
我遇到了同样的问题。通过执行以下操作,我使其能够工作:
export GOOGLE_APPLICATION_CREDENTIALS="//Users/username/projects/projectname/the.json"
答案 4 :(得分:0)
该问题主要在docs here中解决。