如何在codeplex上使用C#facebook sdk在Facebook粉丝页面上发布图像

时间:2011-03-17 05:36:11

标签: facebook facebook-graph-api facebook-c#-sdk

目前我正在开发HTML 5 ASP.Net应用程序, 其中有Graffiti Wall的要求,当用户在我的墙上画一些东西(在我的HTML 5 Canvas元素上的意思),并在我的页面上按分享按钮,那时整个画面应该需要在Facebook页面上发布。

现在我的问题是,这个东西可以通过codeplex使用C#facebook sdk吗? 如果它可能,比如何使用此SDK在Facebook粉丝页面上发布图像? 我在哪里可以获得良好的资源实现这种功能或类似的代码。

我查看了他们给出的所有示例,没有任何示例在Facebook粉丝页面上发布。

甚至可以实现此类功能的其他库。

我检查了这个库,看到它有类似于FacebookClient,ExpandoObject,FacebookMediaObject的类,但是如何使用这个类,在哪里使用描述和示例代码。

谢谢, Jigar Shah

1 个答案:

答案 0 :(得分:3)

您可以使用“{id} / feed”

发布到其他人的墙上

如果您想在墙上发布图片/视频。尝试从nuget下载样本。

Install-Package Facebook.Sample

以下是使用图表api的方法。

    public static string UploadPictureToWall(string id, string accessToken, string filePath)
    {
        var mediaObject = new FacebookMediaObject
                              {
                                  FileName = System.IO.Path.GetFileName(filePath),
                                  ContentType = "image/jpeg"
                              };

        mediaObject.SetValue(System.IO.File.ReadAllBytes(filePath));

        try
        {
            var fb = new FacebookClient(accessToken);

            var result = (IDictionary<string, object>)fb.Post(id + "/photos", new Dictionary<string, object>
                                   {
                                       { "source", mediaObject },
                                       { "message","photo" }
                                   });

            var postId = (string)result["id"];

            Console.WriteLine("Post Id: {0}", postId);

            // Note: This json result is not the orginal json string as returned by Facebook.
            Console.WriteLine("Json: {0}", result.ToString());

            return postId;
        }
        catch (FacebookApiException ex)
        {
            // Note: make sure to handle this exception.
            throw;
        }
    }