如何通过Windows手机将图像发布到Facebook?

时间:2012-03-08 16:14:54

标签: facebook windows-phone-7

在我的应用程序中,图片必须发布到Facebook,mail.Sorry我是Windows手机的新手。我没有想法。请帮助我。我可以先做什么。

2 个答案:

答案 0 :(得分:1)

你应该试试Facebook C#SDK

Facebook C# SDK

我已经在我的应用程序中构建了一次。他们有很多可用的例子。

答案 1 :(得分:1)

如果您想分享状态,可以使用共享链接任务在手机上使用您的Facebook帐户(使用此方法,您只能在墙上发布)http://msdn.microsoft.com/en-us/library/hh394027%28v=vs.92%29.aspx

要在您可以访问的每个墙上发布(图片,消息或其他内容),您需要一些东西:

首先,您需要使用以下链接创建Facebook应用程序: Facebook developers

之后,您需要使用带有与应用程序相关的链接的WebBrowser控件来标识自己。应用程序请求授权执行某些操作,例如发布。您需要详细说明这样的授权:

Dictionary<string, string> uriParams = new Dictionary<string, string>() {
                        {"client_id", "your app id"},
                        {"response_type", "token"},
                        {"scope", "user_about_me, offline_access, publish_stream"}, //The rights
                        {"redirect_uri", "http://www.facebook.com/connect/login_success.html"}, 
                        {"display", "touch"}
                    };

字典还包含重定向uri,用于定义操作是否成功。

最后,您将获得身份验证并获得访问令牌。现在,您可以使用WebRequest POST使用此令牌发布消息:

WebRequest request = HttpWebRequest.Create("https://graph.facebook.com/" + the id of your wall + "/feed");
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.BeginGetRequestStream((reqResult) =>
            {
                using (Stream strm = request.EndGetRequestStream(reqResult))
                using (StreamWriter writer = new StreamWriter(strm))
                {
                    writer.Write(client.AccessToken);
                    writer.Write("&message=" + HttpUtility.UrlEncode(status));
                }
                request.BeginGetResponse((result) =>
                {
                    try
                    {
                        var response = request.EndGetResponse(result);
                        using (var rstrm = response.GetResponseStream())
                        {
                            var serializer = new DataContractJsonSerializer(typeof(FacebookPostResponse));
                            var postResponse = serializer.ReadObject(rstrm) as FacebookPostResponse;
                            callback(true, null);
                        }
                    }
                    catch (Exception ex)
                    {
                        callback(false, ex);
                    }
                }, null);
            }, null);

以下是如何在Facebook页面上发布消息,