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

时间:2019-09-01 15:02:49

标签: sendbird

我们正在构建一个本机聊天应用程序。我们正在Google Firebase上实现后端身份验证解决方案。在Firebase Auth中创建新用户会触发云功能,该功能应使用访问令牌创建新的SendBird用户。访问令牌将存储在Cloud Firestore中,准备在用户下次登录时进行检索。

我们无法实现通过平台API创建新用户的POST请求。我们正在为Node.js使用请求库。我们能够到达API端点,但是返回以下对象:{消息:“ SendBird API端点。”,错误: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;
  });

1 个答案:

答案 0 :(得分:0)

您是否尝试使用指向url的完整端点路径(包括/ v3 / users)? 还是您可能需要使用如下所示的“ baseUrl”? https://github.com/request/request#requestoptions-callback

此外,您需要确保正确使用了{application_id}值和{API Token}值。 您可以从SendBird的仪表板中再次检查。 http://dashboard.sendbird.com>使用您的ID登录>选择您的APP。 “概述”菜单中有一个名为“应用程序凭据”的部分。 您可以从此处再次检查您的API请求网址和API令牌值。