Javascript 插入正确的数组';行不通
好吧,现在我得到了“必须是一个数组”,在它必须是一个字符串之前 有人能帮我解决这个问题吗?检查评论Javascript 插入正确的数组';行不通,javascript,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Facebook,Facebook Graph Api,Facebook Javascript Sdk,好吧,现在我得到了“必须是一个数组”,在它必须是一个字符串之前 有人能帮我解决这个问题吗?检查评论 function publishPhoto() { var tags = []; var x,y=0; if ( harBilled == 0 ) { if ( profilSendt==0) { var c =0; //Get the online friends from
function publishPhoto() {
var tags = []; var x,y=0;
if ( harBilled == 0 ) {
if ( profilSendt==0) {
var c =0;
//Get the online friends from array!
for ( i=0;i<globalTags.length;i++){
if ( c < 49 ){ //max 50 tags!
tags.push({"tag_uid": ""+globalTags[i]+"",
"x" : ""+(Math.floor(Math.random() * 309) + 1)+"",
"y" : ""+(Math.floor(Math.random() * 309) + 1)+""
});
}
c = c+1;
}
var newJson = new String(array2json(tags));
newJson = newJson.toString();
FB.api('me/photos', 'post', {
message: txt2send,
status: 'success',
url: 'http://meedies.com/0bcf1f22_smush_400x400.jpeg',
}, function (response) {
if (!response || response.error) {
harBilled=0;
alert(var_dump(response.error));
} else {
var fi = response.id;
alert("Now this!");
FB.api(fi + '/tags?tags='+tags, 'POST', function(response){
alert(var_dump(response));
});
harBilled=1;
//getPages()
}
})
profilSendt=1;
}
}
函数publishPhoto(){
变量标记=[];变量x,y=0;
如果(harBilled==0){
如果(profilSendt==0){
var c=0;
//从阵列中获取在线好友!
for(i=0;i听起来好像您在标记中填充了错误类型的数据。
试试这个
var tags = [
{"tag_uid": 91839404, "x": 250,"y": 350},
{"tag_uid": 91839401, "x": 220,"y": 340}
];
编辑
只需插入对象本身,而不是包含单个对象的数组
tags.push({"tag_uid": 91839404, "x": 250,"y": 350});
听起来您在标记
数组中填充了错误类型的数据。
试试这个
var tags = [
{"tag_uid": 91839404, "x": 250,"y": 350},
{"tag_uid": 91839401, "x": 220,"y": 340}
];
编辑
只需插入对象本身,而不是包含单个对象的数组
tags.push({"tag_uid": 91839404, "x": 250,"y": 350});
这是Facebook的定义:
PHOTO_ID/tags?tags=[{"id":"1234", "X":1, "y":2}, {"id":"12345", "x":1, "y":2}]
我刚刚尝试用json_encode实现这一点。结果是:
[{"id":"1","x":"1","y":"2"},{"id":"2","x":"1","y":"2"}]
这是Facebook的定义:
PHOTO_ID/tags?tags=[{"id":"1234", "X":1, "y":2}, {"id":"12345", "x":1, "y":2}]
我刚刚尝试用json_encode实现这一点。结果是:
[{"id":"1","x":"1","y":"2"},{"id":"2","x":"1","y":"2"}]
要发布变量标记,请使用
console.log(tags);
在旧的IE浏览器上不起作用。要发布变量标记,请使用
console.log(tags);
在旧的IE浏览器上不起作用。它仍然是一个数组。如果api要求将其作为字符串,则必须对其进行编码。正如我所说,json编码将返回完全相同的“可视”结果,除了-它将是字符串,而不是数组
[{"tag_uid": 587908880,"x" : 17,"y" : 251},{"tag_uid": 664099777,"x" : 166,"y" : 197},{"tag_uid": 824600788,"x" : 275,"y" : 89},{"tag_uid": 1012286173,"x" : 247,"y" : 225},{"tag_uid": 1027953684,"x" : 81,"y" : 25},{"tag_uid": 1049653245,"x" : 169,"y" : 2},{"tag_uid": 1089472771,"x" : 236,"y" : 125},{"tag_uid": 1157692807,"x" : 75,"y" : 70},{"tag_uid": 1183641328,"x" : 307,"y" : 254},{"tag_uid": 1206853982,"x" : 154,"y" : 254},{"tag_uid": 1279891790,"x" : 54,"y" : 5},{"tag_uid": 1379771663,"x" : 206,"y" : 280},{"tag_uid": 1446366514,"x" : 37,"y" : 168},{"tag_uid": 1599969496,"x" : 26,"y" : 226},{"tag_uid": 1645141964,"x" : 250,"y" : 23},{"tag_uid": 100000830101385,"x" : 5,"y" : 110},{"tag_uid": 100003711738950,"x" : 174,"y" : 294},{"tag_uid": 100003908889022,"x" : 249,"y" : 38}]
字符串格式化后,可以通过以下方式发送:
PHOTO_ID/tags?tags=[{"id":"1234"}, {"id":"12345"}]
它仍然是一个数组。如果api要求将其作为字符串,则必须对其进行编码。正如我所说,json编码将返回完全相同的“可视”结果,除了-它将是字符串,而不是数组
[{"tag_uid": 587908880,"x" : 17,"y" : 251},{"tag_uid": 664099777,"x" : 166,"y" : 197},{"tag_uid": 824600788,"x" : 275,"y" : 89},{"tag_uid": 1012286173,"x" : 247,"y" : 225},{"tag_uid": 1027953684,"x" : 81,"y" : 25},{"tag_uid": 1049653245,"x" : 169,"y" : 2},{"tag_uid": 1089472771,"x" : 236,"y" : 125},{"tag_uid": 1157692807,"x" : 75,"y" : 70},{"tag_uid": 1183641328,"x" : 307,"y" : 254},{"tag_uid": 1206853982,"x" : 154,"y" : 254},{"tag_uid": 1279891790,"x" : 54,"y" : 5},{"tag_uid": 1379771663,"x" : 206,"y" : 280},{"tag_uid": 1446366514,"x" : 37,"y" : 168},{"tag_uid": 1599969496,"x" : 26,"y" : 226},{"tag_uid": 1645141964,"x" : 250,"y" : 23},{"tag_uid": 100000830101385,"x" : 5,"y" : 110},{"tag_uid": 100003711738950,"x" : 174,"y" : 294},{"tag_uid": 100003908889022,"x" : 249,"y" : 38}]
字符串格式化后,可以通过以下方式发送:
PHOTO_ID/tags?tags=[{"id":"1234"}, {"id":"12345"}]
这里,您正在将数组转换为json(我假设它已正确转换)
但在这里,您仍然在使用数组
FB.api(fi + '/tags?tags='+tags
我想我发现了你的问题:
正在使用的x和y坐标应为从左侧(x)和顶部(y)的偏移百分比。允许的值为0-100。在下面的帖子中,我看到一些坐标超出了100的限制。您可能应该将坐标重新计算为相对偏移量。但首先,请使用一些测试数据进行尝试,看看它是否有效
试试这个,告诉我它是怎么回事。这里,您正在将数组转换为json(我假设它转换正确)
但在这里,您仍然在使用数组
FB.api(fi + '/tags?tags='+tags
我想我发现了你的问题:
正在使用的x和y坐标应为从左侧(x)和顶部(y)的偏移百分比。允许的值为0-100。在下面的帖子中,我看到一些坐标超出了100的限制。您可能应该将坐标重新计算为相对偏移量。但首先,请使用一些测试数据进行尝试,看看它是否有效
试试这个,告诉我,它是怎么回事。也看一看。也许这将是下一个问题。也看一看。也许这将是下一个问题。问题是我将它插入了一个for,再次检查问题,我已经100%正确地插入了我正在使用的代码。你甚至阅读了我的编辑吗?在将新值推入标记时
您应该删除对象{}周围的方括号[]。问题是我正在将其插入for,再次检查问题,我已100%正确地插入了我正在使用的代码。您是否阅读了我的编辑?在将新值推入标记时
应删除对象{}周围的方括号[]我已经试过了。我得到了几乎相同的错误。“message'=>(#100)无效参数的类型'=>OAutheExceptionn'code'=>100@AndersHedeager我不熟悉api“客户端”您正在使用。但是您实际上可以从var标记生成字符串。请看json_encode。它的目的是以这种方式序列化数据。@AndersHedeager检查我的编辑,这是您想要的格式吗?只需将其序列化为json。我已经尝试过了。我得到了几乎相同的错误。'message'=>(#100)无效参数'type'=>OAutheExceptionn'code'=>100@AndersHedeager我不熟悉您正在使用的api“客户端”。但实际上,您可以从var标记生成字符串。请看json_encode。它旨在以这种方式序列化数据。@AndersHedeager检查我的编辑,这是您想要的格式吗?只需将其序列化为json。'message'=>(#100)param标记必须是数组。n'type'=>OAutheException n'code'=>100n-它必须是数组?我现在正在从数组到字符串进行解码。var newJson=new string(array2json(tags));-运气不好,没有得到这个,…@AndersHedeager@AndersHedeager你读过这个吗?向下滚动,直到“tags”'message'=>(#100)param标记必须是数组。n'type'=>OAuthExceptionn'code'=>100n-它必须是数组?我现在正在从数组到字符串进行解码。var newJson=newstring(array2json(tags));-没有运气,没有得到这个,…@AndersHedeager@AndersHedeager你读过这个吗?向下滚动,直到“tags”它现在是字符串。[{“id”:“531559617”,“x”:“289”,“y”:“115”}“id”:“664099777”、“x”,“x”,“id”:”8,”x:“id:“8,”x:“8”,“x”,“8”,“y:“8”,“y:“2,”8”,“y:“2,”y:“2,”3,”3,”id:“3”,“3”,“3”,“3”,“3”,“id:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,“id”:“1196520877”,“x”:“299”,“y”:“166”},{“id”:“1207342846”,“x”:“71”,“y”:“230”},{“id”:“1279891790”,“x”:“179”,“y”:“111”},{“id”:“1298523854”,“x”:“117”,“y”:“176”}……@AndersHedeager现在尝试以这种格式发送它?就像他们在这里显示的那样:你必须向下滚动到“标签”谢谢你的帮助。现在再次检查我的问题,我的当前代码,但是失败了。请检查它并告诉我怎么做。现在它是一个字符串。[{“id”:“531559617”,“x”:“289”,“y”:“115”},{“id”:“587908880”,“x”:“191”,“y”:“266”},{“id”:“664099777”,“x”:“8”,“y”:“2”},{“id”:“1012286173”,“x”:“252”,“y”:“69”},{“id”:“1027953684”,“x”:“11”,“y”:“y”:“id”:“10875”,“77941”{“72”,“y”:“280”},{“i”