How can I post something to a Wall using Facebook Developer Toolkit?

后端 未结 3 1829
悲哀的现实
悲哀的现实 2021-02-11 03:11

Does anyone have experience using the Facebook Developer Toolkit? I am trying to post something to a Facebook user\'s Wall, but can\'t figure out how to use the API? Could som

3条回答
  •  后悔当初
    2021-02-11 03:45

    I created a video tutorial showing how to do exactly this. Here is the link:

    http://www.markhagan.me/Samples/Grant-Access-And-Post-As-Facebook-User-ASPNet

    And here is the code:

    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 tokens = new Dictionary();
    
                    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" });
                }
            }
        }
    }
    

提交回复
热议问题