如何在 Node.js 中以编程方式获取 GCP Bearer/Access token?

问题描述 投票:0回答:1

我正在使用 Google Cloud 的 Vertex API 来制作 AI 应用程序。我目前正在研究使用此 API 获取图像的标题/描述的功能。我正在使用以下函数来执行相同的操作:

const fetchCaptionForImage = async (image) => {
    const accessToken = "..."
    const uri = "..."
    const body = {...}

    try {
        const response = await axios.post(uri, body, {
            headers: {
                'Authorization': `Bearer ${accessToken}`,
            }
        })
        console.log(response.data.predictions);
    } catch (error) {
        console.log(error.message);
    }
}

从文档中,我只能看到要生成

accessToken
,你必须使用gcloud cli命令:
gcloud auth print-access-token
。我可以使用命令行的 accessToken 获取结果。

但是由于 accessToken 过期了,我想以编程方式生成访问令牌。我看到一些帖子解释了这一点,但它们大多已经过时或用 python 编写。

我想在

access-token
中以编程方式获取
Node.js
。怎么做?谢谢你。

node.js google-cloud-platform command-line-interface gcloud access-token
1个回答
0
投票

根据评论中的URL,您正在使用VertexAI服务服务。在您的代码中,您可以获得像 NodeJS 中那样的访问令牌

    const {GoogleAuth} = require('google-auth-library');
...
...

    const auth = new GoogleAuth({
        scopes: 'https://www.googleapis.com/auth/cloud-platform'
    });
    const token = await auth.getAccessToken();
    console.log(token);

© www.soinside.com 2019 - 2024. All rights reserved.