2012-03-08 58 views

回答

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頁面上留言,

+0

之後,你可以使用相同的原則張貼圖片。在第一個鏈接,你將能夠找到如何發佈圖片 – Giu 2012-03-09 10:12:13

1

你應該給Facebook的C#SDK試試

Facebook C# SDK

我曾在一次在我的應用程序建立了這個。他們有很多可用的例子。

相關問題