将解析对象传入云代码函数
Passing in Parse Object into a cloud code function
我有一个创建 GuestlistInvite 的云代码函数
对象。它需要一个 phoneNumber、一个 guestlist 对象和一个 guest 对象。
我这样调用函数:
Parse.Cloud.run('createGuestlistInviteForExistingUser', {
phoneNumber: phoneNumber,
guestlist: guestlist,
guest: user
}).then(function(guestlistInvite) {
response.success(successfully created guestlistInvite');
});
客人名单和用户都是指针。但是在我的日志中我收到一个错误:
Result: Error: Parse Objects not allowed here
知道为什么会这样吗?
Parse.Cloud.define('createGuestlistInviteForExistingUser', function(request, response) {
var phoneNumber = request.params.phoneNumber;
var guestlist = request.params.guestlist;
var guest = request.params.guest;
var guestlistInvite = new Parse.Object("GuestlistInvite");
guestlistInvite.save({
phoneNumber: phoneNumber,
Guestlist: guestlist,
Guest: guest,
checkInStatus: false,
response: 0
}).then(function(guestlistInvite) {
console.log('guestlistInvite for existing user was created');
response.success(guestlistInvite);
}, function(error) {
response.error('guestlistInvite was not saved');
});
});
您不能发送整个 PFObject 作为请求参数来调用 Cloud Functions。
但是您可以简单地通过将 PFObject 的 objectId 作为请求参数传递然后在云代码中编写代码以从云代码中的 objectId 获取对象来实现该功能。
下面是使用 promises 的云代码的片段:
Parse.Cloud.define("myFunction", functoin(request, response)
{
var MyObject = Parse.Object.extend("MyObjectClass"); //You can put this at the top of your cloud code file so you don't have to do it in every function
var myObject = new MyObject();
var myObjectId = request.params.myObjectId;
myObject.id = myObjectId;
myObject.fetch().then
(
function( myObject )
{
//do stuff with it
},
function( error )
{
response.error("There was an error trying to fetch MyObjectClass with objectId " + myObjectId + ": " + error.message);
}
);
});
我有一个创建 GuestlistInvite 的云代码函数
对象。它需要一个 phoneNumber、一个 guestlist 对象和一个 guest 对象。
我这样调用函数:
Parse.Cloud.run('createGuestlistInviteForExistingUser', {
phoneNumber: phoneNumber,
guestlist: guestlist,
guest: user
}).then(function(guestlistInvite) {
response.success(successfully created guestlistInvite');
});
客人名单和用户都是指针。但是在我的日志中我收到一个错误:
Result: Error: Parse Objects not allowed here
知道为什么会这样吗?
Parse.Cloud.define('createGuestlistInviteForExistingUser', function(request, response) {
var phoneNumber = request.params.phoneNumber;
var guestlist = request.params.guestlist;
var guest = request.params.guest;
var guestlistInvite = new Parse.Object("GuestlistInvite");
guestlistInvite.save({
phoneNumber: phoneNumber,
Guestlist: guestlist,
Guest: guest,
checkInStatus: false,
response: 0
}).then(function(guestlistInvite) {
console.log('guestlistInvite for existing user was created');
response.success(guestlistInvite);
}, function(error) {
response.error('guestlistInvite was not saved');
});
});
您不能发送整个 PFObject 作为请求参数来调用 Cloud Functions。
但是您可以简单地通过将 PFObject 的 objectId 作为请求参数传递然后在云代码中编写代码以从云代码中的 objectId 获取对象来实现该功能。
下面是使用 promises 的云代码的片段:
Parse.Cloud.define("myFunction", functoin(request, response)
{
var MyObject = Parse.Object.extend("MyObjectClass"); //You can put this at the top of your cloud code file so you don't have to do it in every function
var myObject = new MyObject();
var myObjectId = request.params.myObjectId;
myObject.id = myObjectId;
myObject.fetch().then
(
function( myObject )
{
//do stuff with it
},
function( error )
{
response.error("There was an error trying to fetch MyObjectClass with objectId " + myObjectId + ": " + error.message);
}
);
});