在Parse Cloud Code函数中如何获取userId(objectId)?
Parse Cloud Code直接从请求获取登录用户userId的方法
在Parse Cloud Code的云函数处理逻辑中,无需前端额外传参,直接通过请求对象的user属性即可获取当前发起请求的已登录用户对象,读取对应id属性就可以拿到userId。
云函数端实现示例(Parse 3.x及以上版本)
Parse.Cloud.define("fetchUserRelatedData", async (request) => { // 先做非空校验,避免未登录场景下的空指针报错 if (!request.user) { throw new Error("请登录后再执行该操作"); } // 直接获取当前登录用户的userId(即objectId) const userId = request.user.id; // 后续读取对应用户数据的逻辑示例 const userQuery = new Parse.Query(Parse.User); const targetUserData = await userQuery.get(userId); return targetUserData; });
注意事项
- 该方案的前提是安卓端发起云函数请求前,已经通过Parse SDK完成用户登录操作,此时SDK会自动将用户session信息附带在请求中,云函数才能识别到对应的用户对象
- 如果你使用的是Parse 2.x及更早的旧版本,获取id的属性为
objectId,写法调整为const userId = request.user.objectId;即可
安卓端调用示例(无需额外传userId参数)
// 确保用户已完成登录的前提下调用云函数 ParseCloud.callFunctionInBackground<ParseObject>("fetchUserRelatedData", emptyMap()) { result, error -> if (error == null) { // 处理云函数返回的用户数据 } else { // 处理请求异常 } }
内容的提问来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

