通过Graph API将照片发布到Facebook:OAuthException:(#100)param标签必须是一个数组

时间:2012-06-05 01:42:55

标签: arrays facebook json facebook-graph-api photos

我正在尝试通过我的应用的测试用户帐户上的Graph API将照片上传到Facebook。只有url, link, name参数存在,上传工作正常,返回有效的照片ID。

但是,如果我使用额外的tags参数,我最终会返回以下错误:

{
  "error": {
    "message": "(#100) param tags must be an array.", 
    "type": "OAuthException", 
    "code": 100
  }
}

我已经尝试以几乎所有可能的方式提供tags的值,因为我知道Graph API并不简单(甚至参数url也是如此从网址上传照片未列在photo图谱API方法)下;

单个用户ID

tags=100003919104407

多个CS用户ID

tags=100003919104407,100003919104408,100003919104409

包含ID不是整数的数组

tags=[100003919104407, 100003919104404,100003919104405]

将ID作为字符串的数组

tags=["100003919104407", "100003919104404","100003919104405"]

包含对象的数组,根据Facebook Graph API文档

tags=[{"id":"100003919104407"},{"id":"100003919104404"},{"id":"100003919104405"}]

如果有人可以告诉我正确的格式/另一个参数来传递用户ID以便在照片中标记它们,我将非常感激。

3 个答案:

答案 0 :(得分:7)

试试这个

它应采用这种格式

[{"to":"100003919104407","x":0,"y":0},  
{"to":"100003919104408","x":10,"y":10},  
{"to":"100003919104409","x":20,"y":20}] 

[{"tag_uid":"100003919104407","x":0,"y":0},
{"tag_uid":"100003919104408","x":10,"y":10},
{"tag_uid":"100003919104409","x":20,"y":20}]

答案 1 :(得分:1)

您从哪里获取信息?您检查了tags部分吗?

  

创建

     

您可以通过发出HTTP POST请求在照片上创建标记   标签连接,PHOTO_ID /标签。

     

注意:此功能旨在帮助用户真实地标记他们的朋友   相片。您不应该使用此功能来鼓励用户标记   他们的朋友,如果他们的朋友实际上不在那张照片中,或者   在复合照片中标记朋友。如果您的应用程序被发现   鼓励此行为,您可能会禁用此功能。

     

您可以使用两种方法指定要标记的用户:在URL路径中   作为PHOTO_ID / tags / USER_ID,或作为URL参数   PHOTO_ID /标签?到= USER_ID。要一次添加多个标签,您可以指定   一个标签属性,包含一个像这样的标签数组   PHOTO_ID / tags?tags = [{“id”:“1234”},{“id”:“12345”}]。目前,你   无法使用此API标记照片中的页面。

还有example

答案 2 :(得分:1)

数组的X和Y值必须是%,而不是像素

示例1(错误)

img:(640,480)xy:(320,240) [{tag_uid:user_id,x:320,y:240}]< - 错误,因为320> 100%

示例2(右) img:(640,480)xy:(320,240)px:(320,240)< %

[{tag_uid:user_id,x:50,y:50}]< - 右,因为50< 100%