Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过批量请求将自定义故事发布到Facebook_Facebook_Facebook Graph Api_Facebook Javascript Sdk - Fatal编程技术网

通过批量请求将自定义故事发布到Facebook

通过批量请求将自定义故事发布到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

我有一个web应用程序,允许用户将自定义故事发布到他们的Facebook时间线,并列出他们进行的健身锻炼

第一个版本在练习中循环,并为每个练习调用FP.api,它运行良好

现在我想用一个批处理请求调用FB.api来加快发布速度,这就是我遇到的问题

以下是循环工作正常的代码(exids是一个数字数组):

函数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) });
}