gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:48:15 26 4
gpt4 key购买 nike

我正在使用 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”并在那里尝试,我也会收到一条错误消息:

{ "error": { "message": "An unknown error has occurred.", "type": "OAuthException", "code": 1 } }

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

最佳答案

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

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

    * make the API call */    $response = $facebook->api(      "/{photo-id}/tags",      "POST",      array (        'tags' => '[{\'tag_text\': \'Testing\'}]',      )    );    /* handle the result */

关于c# - Facebook - 上传和标记图片(通过 C# SDK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23335922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com