如何使用 SendBird Platform API 和 Request 节点库创建 SendBird 用户

How to create SendBird user with SendBird Platform API and Request node library

我们正在构建一个反应本机聊天应用程序。我们正在 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;
  });

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

此外,您需要确保您正确使用了 {application_id} 值和 {API Token} 值。 您可以从 SendBird 的仪表板仔细检查。 http://dashboard.sendbird.com > 使用您的 ID 登录 > select 您的 APP。 "Overview" 菜单中有一个名为 "App credentials" 的部分。 您可以从那里仔细检查您的 API-请求 URL 和 API-Token 值。