通过批量请求将自定义故事发布到Facebook
我有一个web应用程序,允许用户将自定义故事发布到他们的Facebook时间线,并列出他们进行的健身锻炼 第一个版本在练习中循环,并为每个练习调用FP.api,它运行良好 现在我想用一个批处理请求调用FB.api来加快发布速度,这就是我遇到的问题 以下是循环工作正常的代码(exids是一个数字数组):通过批量请求将自定义故事发布到Facebook,facebook,facebook-graph-api,facebook-javascript-sdk,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我有一个web应用程序,允许用户将自定义故事发布到他们的Facebook时间线,并列出他们进行的健身锻炼 第一个版本在练习中循环,并为每个练习调用FP.api,它运行良好 现在我想用一个批处理请求调用FB.api来加快发布速度,这就是我遇到的问题 以下是循环工作正常的代码(exids是一个数字数组): 函数postToFB(exids) { fbi=0; fblength=exids.length; 对于(变量i=0;i
函数postToFB(exids)
{
fbi=0;
fblength=exids.length;
对于(变量i=0;i
下面是返回错误的批处理请求的代码:
function postToFB(exids)
{
var batcharr = [];
for (var i = 0; i < exids.length; i++)
batcharr.push({ method: 'post', relative_url: 'me/' + vitNamespace + ':perform', body: "exercice=http://www.vitalclub.net/scripts/getExforFB.php%3Fexid%3D" + exids[i] + "&fb:explicitly_shared=true" });
FB.api(
'/',
'post',
{ batch: batcharr, include_headers: false },
function(response) {
...
});
}
函数postToFB(exids)
{
var batcharr=[];
对于(变量i=0;i
我(针对每个练习)得到的错误如下:您尝试发布的操作无效,因为它没有指定任何引用对象。必须至少指定以下属性之一:练习
我认为这与批处理请求中的正文的格式化方式有关,但我找不到正确的格式化方式。我尝试在表示练习的URL上使用encodeURIComponent,但错误是相同的
有人知道问题是什么吗
谢谢
琼好吧,我的错。这真是一个愚蠢的错误。我用法语而不是英语写了参数“exercise”(所以用“exercise”而不是“exercise”),这就是问题所在 我现在还使用$.param格式化参数,因此我现在有:
var batcharr = [];
var opts;
for (var i = 0; i < exids.length; i++)
{
opts = { exercise: "http://www.vitalclub.net/scripts/getExforFB.php?exid=" + exids[i], 'fb:explicitly_shared': true };
batcharr.push({ method: 'post', relative_url: 'me/' + vitNamespace + ':perform', body: $.param(opts) });
}
var batcharr=[];
var选择;
对于(变量i=0;i
在调用FB.api之前,它就像一个符咒
var batcharr = [];
var opts;
for (var i = 0; i < exids.length; i++)
{
opts = { exercise: "http://www.vitalclub.net/scripts/getExforFB.php?exid=" + exids[i], 'fb:explicitly_shared': true };
batcharr.push({ method: 'post', relative_url: 'me/' + vitNamespace + ':perform', body: $.param(opts) });
}