這裡介紹 R 的 Rfacebook 套件使用方式,並提供各種 Facebook 社群網路資料分析的參考範例。
Facebook 是全球知名的社群網站,上面有非常大量的社群網路資料,當然也蘊藏了龐大的商機,如何分析 facebook 的資料、從中萃取有用的資訊,已經成為現在很熱門的領域之一。
分析 facebook 的資料,除了一般的統計工具之外,還需要結合 Facebook Graph API 來擷取資料,很慶幸的是 R 官方收錄的 Rfacebook 已經將這些功能都已經整合好了,以下我們將介紹如何安裝以及使用這個套件,分析出各種有用的社群資訊。
在使用 Facebook Graph API 之前,我們必須先取得 facebook 的權限認證,經過認證之後,才能從 facebook 網站上擷取資料。
facebook 提供的認證方式有兩種,一種是使用 facebook app 的方式,另一種則是直接產生一個暫時的存取權杖(token),不管使用那一種都可以。
以下是建立一個 facebook app 的操作步驟。
Step 1
開啟 facebook for developers 的網頁,點選「新增應用程式」。
Step 2
選擇「網站」這個平台。
Step 3
輸入 App 的名稱,這裡任意取一個名稱即可。
Step 4
輸入聯絡用的電子郵件信箱。
Step 5
點選右上角的「Skip Quick Start」。
Step 6
點選應用程式密鑰的「顯示」按鈕。
Step 7
複製應用程式的編號與密鑰。
有了應用程式的編號與密鑰,我們就可以使用 Rfacebook 套件透過 Facebook Graph API 來取的 facebook 上的資料了。
除了使用應用程式的編號與密鑰之外,還有另外一種認證方式就是使用 facebook 存取權杖(token),這種方式就不需要建立 facebook app,只要從網頁上產生存取權杖代碼即可使用,不過他的時效只有兩小時,過期後就要重新產生。
Step 1
點選「Get User Access Token」。
Step 2
選擇要開放的權限。
Step 3
複製產生的存取權杖代碼。
R 的 Rfacebook 套件安裝方式有兩種,最簡單的方式就是跟一般套件一樣從 R 官方的套件庫下載安裝,不過這種方式所安裝的版本有時候比較舊,若要安裝最新的版本,可以改用直接從 Rfacebook 的 GitHub 網站上下載最新的版本來安裝。
若要從 R 官方的 CRAN 網站安裝,就執行:
install.packages("Rfacebook")
若要從 GitHub 下載最新版的 Rfacebook,首先需要先安裝 devtools
:
install.packages("devtools") library(devtools)
接著使用 install_github
安裝 Rfacebook
:
install_github("Rfacebook", "pablobarbera", subdir="Rfacebook") library(Rfacebook)
從 facebook 的 Graph API 測試工具的網頁上產生一個存取權杖(token),將其複製之後,放在 R 的 token
變數中:
token <- "EAACEdEose0cBANAjh3xCYmHWoQPi9MZBZCuIyLBOvsCtH71vTnndd5NsIeSvy5UU1DSSxCYjX8pWIOvRBid6lWOwYwhAxDzZA3dnsbRadtj3FZCaHfpBndc8ae911Wp0pR5GPoq3ZAa5AWooIe34aYkVmkvBHRFt1n44kbWJNywZDZD"
有了存取權杖之後,就可以使用 Rfacebook 來擷取 facebook 網站上的資料了:
me <- getUsers("me", token, private_info = TRUE) me$name
[1] "Guo-Zhao Wang"
使用 fbOAuth
函數,配合上面複製的應用程式編號與密鑰,即可獲取可長期使用的 OAuth 授權 token:
require("Rfacebook") fb.oauth <- fbOAuth( app_id="1675426256053176", app_secret="216739d2688d42b4d1d1d901fa4cbbc4", extended_permissions = TRUE)
Copy and paste into Site URL on Facebook App Settings: http://localhost:1410/ When done, press any key to continue...
將這裡的網址 http://localhost:1410/
複製起來,開啟 facebook app 的網頁,在「設定」頁面中,點選「新增平台」。
選擇「網站」。
將剛剛複製的網址貼在「網站網址」欄位中。
按下任意鍵,等待瀏覽器進行認證:
Waiting for authentication in browser... Press Esc/Ctrl + C to abort Authentication complete. Authentication successful.
認證完成後,測試是否可以正常擷取資料:
me <- getUsers("me",token=fb.oauth) me$name
[1] "Guo-Zhao Wang"
將這個 token 儲存起來,以備未來使用:
save(fb.oauth, file="fb_oauth")
未來在使用前,只要使用 load
載入這個 token 就可以直接使用:
load("fb_oauth")
Page: 1 2