如何通过http获取$(gcloud auth print-access-token)这个gcloudaccess-token值?
不安装gcloud如何才能获取这个access-token?
https://cloud.google.com/sdk/docs/install?hl=zh-cn
网友回复
gcloud access-token这个值谷歌cloud官方是通过gcloud 的客户端命令行获取的,需要下载到本地运行后获取
当然也有人根据这套协议写出了不需要命令行的代码,模拟了命令行的执行:
我们以cloudflare的worker为例,其他的编程语言可以通过ai更换:
// 配置变量 const PROJECT_ID = ''; const CLIENT_EMAIL = ''; const PRIVATE_KEY =""; addEventListener("fetch", (event) => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { const [token, err] = await exchangeJwtForAccessToken(signedJWT) if (token === null) { console.log(`Invalid jwt token: ${err}`) return createErrorResponse(500, "api_error", "invalid authentication credentials"); } } function createErrorResponse(status, errorType, message) { const errorObject = { type: "error", error: { type: errorType, message: message } }; return new Response(JSON.stringify(errorObject), { status: status, headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*", }, }); } async function createSignedJWT(email, pkey) { pkey = pkey.replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\r|\n|\\n/g, ""); let cryptoKey = await crypto.subtle.importKey( "pkcs8", str2ab(atob(pkey)), { name: "RSASSA-PKCS1-v1_5", hash: { name: "SHA-256" }, }, false, ["sign"] ); const authUrl = "https://www.googleapis.com/oauth2/v4/token"; const issued = Math.floor(Date.now() / 1000); const expires = issued + 600; const header = { alg: "RS256", typ: "JWT", }; const payload = { iss: email, aud: authUrl, iat: issued, exp: expires, scope: "https://www.googleapis.com/auth/cloud-platform", }; const encodedHeader = urlSafeBase64Encode(JSON.stringify(header)); const encodedPayload = urlSafeBase64Encode(JSON.stringify(payload)); const unsignedToken = `${encodedHeader}.${encodedPayload}`; const signature = await crypto.subtle.sign( "RSASSA-PKCS1-v1_5", cryptoKey, str2ab(unsignedToken) ); const encodedSignature = urlSafeBase64Encode(signature); ret...
点击查看剩余70%
python如何压缩视频到指定的分辨率大小?
抖音微信小程序有压缩视频分辨率的api吗?
ollama中的deepseek有没有本地越狱提示词?
deepseek r1各个版本本地电脑部署运行的硬件要求是多少?
python如何分离视频中的音频与视频为mp4与wav文件?
python报错: ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is comp
ps支持命令行执行脚本文件修改图片吗?
传统的个人博客站长如何应对ai搜索的流量锐减?
centos安装python3.10提示ssl模块不存在?
deepseek r1如何使用本地gpu运行?