如何解决如何在应用程序脚本gmail中的请求标头中使用具有身份验证的Firebase API用户添加在项目上
我有一个Firebase项目,可以在其中登录google。现在,我想在应用程序脚本中调用firebase API来创建Gmail插件。我可以使用UrlFetchApp.fetch调用在请求标头中不需要Id令牌的API,但我也想调用在请求标头中包含Id令牌的API。 我使用以下方法获取Firebase idToken,但出现以下错误
[20-09-18 23:15:57:291 PDT] {
"error": {
"code": 400,"message": "INVALID_IDP_RESPONSE : Invalid Idp Response: access_token audience is not for this project","errors": [
{
"message": "INVALID_IDP_RESPONSE : Invalid Idp Response: access_token audience is not for this project","domain": "global","reason": "invalid"
}
]
}
}
function getGoogleIDToken()
{
var firebaseConfig = {
apiKey: "",authDomain: "",databaseURL: "",projectId: "",storageBucket: "",messagingSenderId: "",appId: "",};
var res = UrlFetchApp.fetch('https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key='+firebaseConfig.apiKey,{
method: 'POST',payload: JSON.stringify({
requestUri: 'https://'+firebaseConfig.authDomain,postBody: 'access_token='+ScriptApp.getoAuthToken()+'&providerId=google.com',returnSecuretoken: true,returnIdpCredential: true
}),contentType: 'application/json',muteHttpExceptions: true
});
Logger.log(res);
var responseData = JSON.parse(res);
idToken = responseData.idToken;
Logger.log('Google ID Token: ');
Logger.log(idToken);
return idToken;
}
解决方法
-
确保firebase gcp和应用程序脚本gcp共享同一个Google云端项目
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。