我们正在构建一个react原生聊天应用程序。我们正在google Firebase上实现一个后端身份验证解决方案。在Firebase Auth中创建一个新用户会触发一个云函数,该函数将使用访问令牌创建一个新的SendBird用户。访问令牌将存储在Cloud Firestore中,供用户下次登录时检索。
我们在实现通过平台API创建新用户的POST请求时遇到了问题。我们正在使用node.js的请求库。我们可以到达API端点,但返回了以下对象:{ message:'SendBird API Endpoint.',error: true }。没有迹象表明错误可能是什么。
当向基本url发送请求时,就会发生这种情况。当我们向/users或/v3/users发送请求时,我们收到一个403错误。
任何可能导致这个问题的迹象都将不胜感激。
下面是云函数index.js代码
const functions = require('firebase-functions');
const admin = require("firebase-admin");
const request = require('request');
admin.initializeApp();
exports.handleNewUser = functions.auth.user().onCreate((user) => {
var newUserRequestBody = {
"user_id": user.email,
"nickname": user.email,
"profile_url": "",
"issue_access_token": true,
}
request.post({
headers: {
'Content-Type': 'application/json, charset=utf8',
'Api-Token': // API Token
},
url: 'https://api-{application_id}.sendbird.com',
form: newUserRequestBody
}, function(error, response, body){
if (!error && response.statusCode === 200) {
const info = JSON.parse(body);
console.log("request successful");
console.log(response.statusCode);
console.log(info);
}
else{
console.log("request unsuccessful");
console.log(response.statusCode);
console.log(error);
}
});
return null;
});发布于 2019-09-02 16:43:33
您是否尝试使用指向url的端点的完整路径:(包括/v3/users)?或者你可能需要像下面这样使用"baseUrl“?https://github.com/request/request#requestoptions-callback
此外,您还需要确保正确使用了{application_id}值和{API Token}值。你可以在你的SendBird仪表板上仔细检查一下。http://dashboard.sendbird.com >使用您的ID登录>选择您的应用。在“概述”菜单中有一个名为"App credentials“的部分。你可以在那里仔细检查你的API-request URL和API-tok值。
https://stackoverflow.com/questions/57747072
复制相似问题