如何使用 SendBird 平台 API 和请求节点库创建 SendBird 用户



我们正在构建一个反应原生聊天应用程序。我们正在谷歌Firebase上实施后端身份验证解决方案。在Firebase Auth中创建新用户会触发云功能,该函数应创建一个具有访问令牌的新SendBird用户。访问令牌将存储在Cloud Firestore中,以便在用户下次登录时进行检索。

我们在实现通过平台 API 创建新用户的 POST 请求时遇到问题。我们正在对节点.js使用请求库。我们能够到达 API 端点,但返回以下对象:{ 消息:"SendBird API 端点",错误:true }。没有指示错误可能是什么。

将请求发送到基本 URL 时会发生这种情况。当我们向/users 或/v3/users 发送请求时,我们会收到 403 错误。

任何关于可能导致此问题的原因的指示将不胜感激。

下面是云函数索引.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;
});

您是否尝试使用端点到 url 的完整路径:(包括/v3/users(? 或者您可能需要像下面这样使用"baseUrl"? https://github.com/request/request#requestoptions-callback

此外,还需要确保正确使用了 {application_id} 值和 {API 令牌} 值。 您可以从您的仪表板中仔细检查这一点 发送鸟. http://dashboard.sendbird.com> 使用您的 ID 登录>选择您的应用程序。 "概述"菜单中有一个名为"应用凭据"的部分。 您可以从那里仔细检查您的 API 请求 URL 和 API 令牌值。

最新更新