Facebook-上传和标记图片(通过C#SDK)
我正在使用C#NET在Facebook上创建一个“页面标签”应用程序。在此应用程序中,用户可以将图片上载到应用程序所属页面的提要。用户应在图片中自动标记 我已经有了将图片上传到墙上的代码,但是每次尝试让用户被标记似乎都不起作用。 这是我目前用来将图片上传到墙上的代码Facebook-上传和标记图片(通过C#SDK),c#,asp.net,facebook,facebook-graph-api,C#,Asp.net,Facebook,Facebook Graph Api,我正在使用C#NET在Facebook上创建一个“页面标签”应用程序。在此应用程序中,用户可以将图片上载到应用程序所属页面的提要。用户应在图片中自动标记 我已经有了将图片上传到墙上的代码,但是每次尝试让用户被标记似乎都不起作用。 这是我目前用来将图片上传到墙上的代码 var parameters = new Dictionary<string, object>(); parameters.Add("url", "<url to image>"); parameters.A
var parameters = new Dictionary<string, object>();
parameters.Add("url", "<url to image>");
parameters.Add("message", "Message to go with the picture");
parameters.Add("access_token", "<access_token of page this application belongs to>");
FacebookClient client = new FacebookClient("AccessToken");
client.Post("https://graph.facebook.com/page_ID/photos", parameters);
如果我转到“Graph API Explorer”并在那里试用,那么我还会收到一条错误消息:
{
“错误”:{
“消息”:“发生未知错误。”,
“类型”:“OAutheException”,
“代码”:1
}
}
但所有这些只会导致错误:“OAutheException-#1)发生未知错误。”。如果我把标签部分注释掉,一切看起来都很完美。那么,如何获取用户ID,然后在我上传的图片中标记他呢?要添加标记,您需要使用标记端点进行单独调用。这是文件 向下滚动查看通话示例。在php中是这样的:
var tags = new[] {
new { tag_uid = "<My own user id>", x = 0, y = 0 }
};
parameters.Add("tags", tags);
* make the API call */
$response = $facebook->api(
"/{photo-id}/tags",
"POST",
array (
'tags' => '[{\'tag_text\': \'Testing\'}]',
)
);
/* handle the result */
*进行API调用*/
$response=$facebook->api(
“/{photo id}/tags”,
“职位”,
排列(
'tags'=>'[{'tag\'u text\':\'Testing\'}],
)
);
/*处理结果*/
谢谢你的回复。不幸的是,当我尝试使用照片id时,仍然会收到相同的错误消息。我甚至尝试使用Graph API Explorer,但最终还是得到了错误消息。我更新了我的问题以包含“Graph API Explorer”错误消息。从代码中可以看到,您正在参数中添加标记。您是否尝试过我上面提到的单独通话?是的,我将图片发送到facebook,从回复中获取照片id,然后使用照片id向图片添加标签。但即使使用“Graph API Explorer”(图形API浏览器)页面,它也会不断给出错误消息。Nathan,我刚刚用Graph API尝试了一下,它仍然有效。我把“tag_text:Testing”贴到/tags上。就我而言,这张照片已经存在了。你能描述一下你的情况吗?
var tags = new[] {
new { tag_text = "testing", x = 0, y = 0 }
};
parameters.Add("tags", tags);
* make the API call */
$response = $facebook->api(
"/{photo-id}/tags",
"POST",
array (
'tags' => '[{\'tag_text\': \'Testing\'}]',
)
);
/* handle the result */