[C#/Facebook API] 抓取粉絲專頁的塗鴉牆訊息

[C#/Facebook API] 抓取粉絲專頁的塗鴉牆訊息

前言

之前已介紹過[C#/Facebook API] 利用Facebook API 發文,適合前後端平台(使用者無需輸入帳密方式)

這次再來看看以程式方式如何取得粉絲專頁的塗鴉牆訊息

(※寫這篇之前,facebook的社團和粉絲專頁我自己也傻傻分不清XD,寫文章分享順便釐清觀念是好事 )

 

實作

1. 先到Home - Facebook 開發人員填寫App資料,步驟可參考此篇:[C#/Facebook API] 利用Facebook API 發文,適合前後端平台(使用者無需輸入帳密方式)

2. 在Facebook Developer頁面中,不用為App加入任何存取權限,只要抄下AppID和AppSecret就好,待會程式要用到

3. 打開Visual Studio 2012,透過NuGet管理員加入Facebook C# SDK,不知道怎麼加的,參考上一篇文章::[C#/Facebook API] 利用Facebook API 發文,適合前後端平台(使用者無需輸入帳密方式)

4. 人工確認要抓資料的粉絲團Fan Page ID,以twMVC為例,網址原本為:https://www.facebook.com/twmvc

把www改成「graph」變成:https://graph.facebook.com/twmvc/ 進入後

下圖紅框處的id就是Fan Page ID,記下來,待會程式會用到

image

5. 程式代碼如下:

using System;
using System.Collections.Generic;
using System.Dynamic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using Facebook;

namespace ConsoleApplicationFacebook
{
    class Program
    {
        static void Main(string[] args)
        {
            string strAppID = "";
            string strAppSecret = "";
            //twMVC的Fan Page ID
            string strFanPageID = "283092135094363";
            WebClient wc = new WebClient();
        
            string strResult = wc.DownloadString("https://graph.facebook.com/oauth/access_token?client_id=" + strAppID + "&client_secret=" + strAppSecret + "&grant_type=client_credentials");
            string strAppaccessToken = strResult.Split('=')[1];//取得Access Token
           
            Facebook.FacebookClient client = new FacebookClient(strAppaccessToken);
                   
            //回傳結果為json字串     
            string strJson = client.Get(strFanPageID + "/feed").ToString(); 
            //輸出結果
            Console.Write(strJson);
                   
            Console.ReadKey();

        }
       
    }
}

 

結果

image

參考文章

How to Get a Facebook fan page ID