[C#][ASP.net] 我們來聊聊Facebook Message Bot 如何實作 (一)

2016-06-17

之前facebook 發布了 bot 讓你可以透過寫程式讓你可以針對紛絲團寫出回應的機器人
_89195617_310462f6-7973-40d9-93a9-1cdbe1c565a6
(來源: http://www.bbc.com/news/technology-36021889)

看一下臉書的官方文件( https://developers.facebook.com/docs/graph-api/reference/v2.6/message )其實蠻詳細的,官方用的是javascript and node.js 這篇文章我會用C# + ASP.net來完成,並且就筆記一下需要注意的地方

1. 首先建立一個粉絲專頁 https://www.facebook.com/pages/create
sh207
sh209

2.建立起一個Facebook App ( https://developers.facebook.com/ )

3.接下來你需要一台有https 的機器,沒有嗎? 或是很麻煩嗎 沒關係,你可以透過Windows Azure ( https://azure.microsoft.com/zh-tw/pricing/details/app-service/ ),這邊可以建立起免費的站台網站,當然測試絕對夠用,而且建立起來的網站預設的 https://你自訂名稱.azurewebsites.net 是支援https  的,當然你自己有機器可以放https的網域你可以跳過這一步驟
sh208

4. 接下來,你要做一個網頁在官方叫做 webhook的東西 下面是官方的範例
sh211

於是我建立一個 webhook.aspx 裡面我加入這一段code 方便 臉書過來跟我驗證 關於C# 的部分,其中,我設定 一個自訂的Token "MY_CUSTOM_TOKEN_FOR_BOT_USE"  讓臉書過來跟我驗證我可以確認是臉書,之後你在臉書設定時需要這個key  接下來就是翻譯C# 的 Code

if (!string.IsNullOrEmpty(Request["hub.verify_token"]))
{
    if (Request["hub.verify_token"] == "MY_CUSTOM_TOKEN_FOR_BOT_USE")
    {
        Response.Write(Request["hub.challenge"]);
    }
}

然後佈署到雲端上面得到一個網址 https://你自訂名稱.azurewebsites.net/webhook.aspx , 還有你的MY_CUSTOM_TOKEN_FOR_BOT_USE 下一步驟會用到

5. 在App 那邊設定,首先要先驗證 Webhook 驗證成功
sh212
接下來貼近去網路位置,記得是https 才可正常運作 ,下面就是填寫你自訂的token , 下面權限基本上測試你就先全勾吧

sh217

6. 綁定  App 和 專頁的關係
sh225

這邊綁定後 記得把 "粉絲專頁存取權杖" 複製起來,這很重要之後會一直用到,接下來步驟就是繼續寫 接收跟回應的程式了。


當麻許的超技八 2014 | Donma Hsu Design.