Facebook-上传和标记图片(通过C#SDK)

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

我正在使用C#NET在Facebook上创建一个“页面标签”应用程序。在此应用程序中,用户可以将图片上载到应用程序所属页面的提要。用户应在图片中自动标记

我已经有了将图片上传到墙上的代码,但是每次尝试让用户被标记似乎都不起作用。 这是我目前用来将图片上传到墙上的代码

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 */