Facebook Apps - Programmatically post to all of your friend's wall
Here is the sample code in C# that would post to all of your friends programmatically.
It is a simple C# console application and you need to get the access token using the link https://developers.facebook.com/tools/explorer/
NOTE: The code would work fine, but facebook might restrict you stating that maximum number of posts reached for the day.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using System.Web; using System.Collections.Specialized; using System.Runtime.Serialization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace FriendFeedConsole { class Program { static void Main(string[] args) { try { string access_token = "your access token"; // With publish_stream rights string URL = "https://graph.facebook.com/me/friends&"; URL += "access_token=" + access_token; WebClient webClient = new WebClient(); Stream rstream = webClient.OpenRead(URL); StreamReader objReader = new StreamReader(rstream); string sLine = ""; string result = ""; while (sLine != null) { sLine = objReader.ReadLine(); result += sLine; result += "\n"; } webClient.Dispose(); Newtonsoft.Json.Linq.JObject myFriends = Newtonsoft.Json.Linq.JObject.Parse(result); Newtonsoft.Json.Linq.JArray arrFriends = (Newtonsoft.Json.Linq.JArray)myFriends["data"]; for (int i = 0; i < arrFriends.Count; i++) { Newtonsoft.Json.Linq.JToken token = arrFriends[i]; string id = token["id"].ToString().Replace("\"", ""); string name = token["name"].ToString().Replace("\"", ""); //result = result + "
" + "id: " + id + " name: " + name + ""; string message = "Wish you Happy New Year 2012! Visit us at http://www.softwareandfinance.com"; if (message != null && message.Length > 0) { string output = name + " wallpost id: " + postedonwall(id, access_token, message) + "\n"; Console.WriteLine(output); } } } catch (WebException ex) { if (ex.Response is HttpWebResponse) { switch (((HttpWebResponse)ex.Response).StatusCode) { case HttpStatusCode.NotFound: Console.WriteLine("Not Found Exception"); break; default: Console.WriteLine(ex.Message + ex.InnerException); break; } } } catch (Exception e) { Console.WriteLine("Unknown Exception"); } } static public string postedonwall(string uid, string access_token, string message) { try { string URL = "https://graph.facebook.com/" + uid + "/feed"; NameValueCollection formData = new NameValueCollection(); formData["access_token"] = access_token; formData["message"] = message; WebClient webClient = new WebClient(); byte[] responseBytes = webClient.UploadValues(URL, "POST", formData); string result = Encoding.UTF8.GetString(responseBytes); webClient.Dispose(); return result; } catch (System.Exception ex) { return "Unable to post: " + ex.Message; } } } }
|