我正在尝试通过我的应用程序的测试用户帐户上的 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 以便在照片中标记它们的正确格式/另一个参数,我将非常感激。
试试这个
应该是这种格式
[{"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}]
您从哪里获得信息?您检查过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 标记照片中的页面。
还有一个示例。
数组的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%
如果您尝试将列表传递给所需参数,并且抛出“参数标签必须是数组”错误,请将列表转换为 str 并传递它。它会起作用的。不客气。