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

问题描述 投票:0回答:4

我正在尝试通过我的应用程序的测试用户帐户上的 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 上传照片的参数
url
未在
photo
Graph 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 以便在照片中标记它们的正确格式/另一个参数,我将非常感激。

arrays facebook json facebook-graph-api photos
4个回答
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
投票

您从哪里获得信息?您检查过tags部分吗?

创建

您可以通过向以下地址发出 HTTP POST 请求来在照片上创建标签: 标签连接,PHOTO_ID/tags。

注:此功能旨在帮助用户真实标记好友 相片。您不应使用此功能来鼓励用户标记 他们的朋友(如果他们的朋友实际上不在照片中),或者 在合成照片中标记朋友。如果您的应用被发现 鼓励这种行为,您对此功能的使用可能会被禁用。

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

还有一个示例


1
投票

数组的X和Y值需要是%,而不是像素

示例1(错误)

img:(640,480) xy:(320,240) [{tag_uid:user_id,x:320,y:240}] <- wrong, because 320 > 100%

示例2(右) 图片:(640,480) xy:(320,240) 像素:(320,240) < %

[{tag_uid:user_id,x:50,y:50}] <- right, because 50 < 100%


0
投票

如果您尝试将列表传递给所需参数,并且抛出“参数标签必须是数组”错误,请将列表转换为 str 并传递它。它会起作用的。不客气。

© www.soinside.com 2019 - 2024. All rights reserved.