【问题标题】:Facebook - upload and tag picture (through the C# SDK)Facebook - 上传和标记图片(通过 C# SDK)
【发布时间】:2014-04-28 19:38:01
【问题描述】:

我正在使用 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);

但是我如何标记这张图片中的用户?我假设用户应该登录到我的应用程序,然后我应该以某种方式使用“用户 ID”。但我所做的尝试似乎根本不起作用。

我尝试的其中一件事是通过在代码中直接插入我自己的“uid”来标记自己,如下所示:

parameters.Add("tags", new object[] { 
    new Dictionary<string, object>(){
        {"tag_uid", "<My own user id>"}, 
        {"x", "0"},
        {"y", "0"},
    }
});

我也试过这样的东西:

var tags = new[] {                        
    new { tag_uid = "<My own user id>", x = 0, y = 0 }
};
parameters.Add("tags", tags);

甚至

var tags = new[] {                        
    new { tag_text = "testing", x = 0, y = 0 }
};
parameters.Add("tags", tags);

如果我转到“Graph API Explorer”并在那里尝试,我也会收到一条错误消息:

{ “错误”: { "message": "发生未知错误。", “类型”:“OAuthException”, “代码”:1 } }

但所有这些只会导致错误:“OAuthException - #1) 发生未知错误。”。如果我注释掉标记部分,一切似乎都很完美。那么如何获取用户ID,然后在我上传的图片中标记他呢?

【问题讨论】:

    标签: c# asp.net facebook facebook-graph-api


    【解决方案1】:

    要添加标签,您需要使用标签端点进行单独调用。这是文档。 https://developers.facebook.com/docs/graph-api/reference/photo/tags/

    向下滚动以查看示例调用。在php中是这样的:

    * 进行 API 调用 */ $response = $facebook->api( "/{photo-id}/tags", “邮政”, 大批 ( '标签' => '[{\'tag_text\': \'测试\'}]', ) ); /* 处理结果 */

    【讨论】:

    • 感谢您的回复。不幸的是,当我尝试使用照片 ID 时,我仍然收到相同的错误消息。我什至使用 Graph API Explorer 进行了尝试,但最终还是收到了该错误消息。我更新了我的问题以包含“Graph API Explorer”错误消息。
    • 从我在您的代码中可以看到,您正在参数中添加标签。您是否尝试过我上面提到的单独调用?
    • 是的,我将图片发送到 facebook,从响应中获取 photo-id,然后使用 photo-id 为图片添加标签。但即使使用“Graph API Explorer”页面,它也会不断给出错误消息。
    • Nathan,我刚刚用 Graph API 试了一下,效果很好。我将“tag_text:测试”发布到 /tags。在我的案例中,图片已经存在。你能描述一下你的情况吗?
    猜你喜欢
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 2012-03-11
    相关资源
    最近更新 更多