2012-06-30 3 views
-1

경매 웹 사이트가 있습니다. 매번 사용자가 경매에 입찰하는 것이 요구됩니다. 사용자가 Google을 대신하여 게시하도록 허용 한 경우 해당 작업이 Facebook 담벼락에 게시됩니다. 이 일이 가능하며이 일을 할 수 있기 위해 내가 알아야 할 것입니다. 나는 페이스 북 애플리케이션 개발에 대해 많이 모른다.페이스 북에 게시 사용자의 사용자 벽은 웹 사이트에서 약간의 상호 작용을합니다

답변

2

나는 (당신이 태그로) facebook-c#-sdk의 지식을 가지고하지 않지만 다음 단계

을 따르지 이러한 요구에 대한
    사용
  1. 인증하고 사용자 facebook OAuth 2.0
  2. 허가 user_status와 당신이 상태 API를 호출하는 데 필요한 required param

인터넷 검색 후 나는 페이스 북 - C#을가

을 -sdk 사용하여 상태를 업데이트 할 수있는 작은 해결책을 발견
FacebookClient fbClient = new FacebookClient(accessToken); 
parameters = new Dictionary<string, object> { 
    { "message", "this is my test message" } 
}; 
fbClient.Post("me/feed", parameters); 
1

위의 대답은 가능한 해결책이지만 조금 어색합니다.

오픈 그래프 작업을 활용하는 것이 좋습니다.

귀하의 출발점은 읽기 BD 것 : FB는 물론 제안 및 설명서가 스케치와 같이

https://developers.facebook.com/docs/opengraph/

그것은 매우 쉬운 일이 아닙니다, 그러나 당신의 필요 조건에 따라 자동, '마찰'조치 , 이것은 따라야 할 길입니다.

0

정확하게 이것을 수행하기위한 비디오 자습서와 샘플 소스 코드를 만들었습니다.

비디오/코드 :

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Net; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

using Facebook; 

namespace FBO 
{ 
    public partial class facebooksync : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      CheckAuthorization(); 
     } 

     private void CheckAuthorization() 
     { 
      string app_id = "374961455917802"; 
      string app_secret = "9153b340ee604f7917fd57c7ab08b3fa"; 
      string scope = "publish_stream,manage_pages"; 

      if (Request["code"] == null) 
      { 
       Response.Redirect(string.Format(
        "https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&scope={2}", 
        app_id, Request.Url.AbsoluteUri, scope)); 
      } 
      else 
      { 
       Dictionary<string, string> tokens = new Dictionary<string, string>(); 

       string url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&scope={2}&code={3}&client_secret={4}", 
        app_id, Request.Url.AbsoluteUri, scope, Request["code"].ToString(), app_secret); 

       HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; 

       using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
       { 
        StreamReader reader = new StreamReader(response.GetResponseStream()); 

        string vals = reader.ReadToEnd(); 

        foreach (string token in vals.Split('&')) 
        { 
         //meh.aspx?token1=steve&token2=jake&... 
         tokens.Add(token.Substring(0, token.IndexOf("=")), 
          token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1)); 
        } 
       } 

       string access_token = tokens["access_token"]; 

       var client = new FacebookClient(access_token); 

       client.Post("/me/feed", new { message = "markhagan.me video tutorial" }); 
      } 
     } 
    } 
} 
: http://www.markhagan.me/Samples/Grant-Access-And-Post-As-Facebook-User-ASPNet

당신이 내 웹 사이트에가는 기분하지 않는 경우, 여기에 소스 코드

관련 문제