Rfacebook的授權失敗問題解決方式_Rfacebook_fbOAuth

facebook_developer_OAuth00R語言具備免費、下載安裝容易、網路資源豐富、簡單易學的優點,除可當成窮人SPSS進行統計分析以外,最近比較夯的使用範圍,應該就是與大數據方法有關的資料擷取、資料分析、資料視覺化了。只要安裝R語言的套件包,取得管理者權限授權後,即可進行諸如Facebook、Yahoo等網頁資料的擷取。在此感謝廣大R友對拙文:【R軟體擷取分析臉書Facebook粉絲專頁資料】的熱烈迴響;另一方面,也自慚學藝不精,技不如人,對R友提出的問題無法有效解決,且近日雜務纏身,前途未卜,身心受創,內外交相煎熬,萬念俱灰下,偶然逛到網路上有熱血志士發現解決方法,立馬能量滿載,先丟上來希望能夠排除R友無法透過Rfacebook取得授權的問題。

GitHub的討論區,與R友們最近遇到的共同疑惑:「透過Rfacebook取得授權過程出現認證失敗訊息」,類似的相關問題不少。例如2016.08.03這篇討論串:【Still Getting Bad Request (HTTP 400). Failed to get an access token Despite 2.6 Update #28】當中即有人回應,若語法指令與R的版本都沒問題,卻出現認證失敗訊息,應該檢查facebook for develops的應用程式設定;另外2017.01.12這篇【(HTTP 400). Failed to get an access token. #102】更指出:會造成前述Rfacebook取得臉書授權出現失敗訊息的原因,主要是使用者瀏覽器重新導向設定的問題。我整理後,提出解決方法如下:

方法A

在fbOAuth語法前加上options(“browser" = NULL)指令,這似乎與使用者預設的瀏覽器種類有關(我覺得將IE設為預設瀏覽器的嫌疑最大…),語法更改如下:

require("Rfacebook")
options("browser" = NULL)
fb.oauth <- fbOAuth(
  app_id="*************",                  #請複製貼上應用程式編號(ID數字)
  app_secret="***********************",    #請複製貼上應用程式密鑰(Secret數字)
  extended_permissions = TRUE)

請注意,在前述GitHub的討論串也有網友表示:加上options(“browser" = NULL)這個指令,在MAC的作業系統下卻仍然無效。

方法B

到臉書開發者模式 facebook for develops去更改設定,步驟如下:

一、登入臉書後,進入先前您已申請好的應用程式主控板(dashboard)

facebook_developer_OAuth01


二、在主控板左側選單,點選【facebook登入】下拉式選單

facebook_developer_OAuth02


三、點選下拉式選單的【設定】,進入後將先前的http://localhost:1410/複製起來,貼在【有效的OAuth重新導向URI】下方空白欄位,再按下【變更儲存】,順便按照下圖核對一下您的設定是否一致。

facebook_developer_OAuth03

點選【變更儲存】後,再回到R-studio,請再執行一次require(“Rfacebook")的指令,此時就不需要再加上options(“broser = NULL")的指令了,應可正常取得認證成功訊息。


以上,希望能有效解決R友們使用Rfacebook遇到出現授權失敗的問題,請大家參考運用。

歲末年終,在此先拜個早年,敬祝大家平安順心,獎金滿滿,好事一路發~~~

廣告

對「Rfacebook的授權失敗問題解決方式_Rfacebook_fbOAuth」的想法

  1. 老師您好,
    在【有效的OAuth重新導向URI】下方空白欄位已經無法順利貼上「http://localhost:1410/」,原因是有要求該欄位要是填入「https」的格式。

    • 哈囉!leon195512您好,謝謝您的提醒,facebook for developer最近有不少更新事項,其中一個就是【有效的OAuth重新導向URI】在今年10月以後將強制改為https://的加密模式,乃基於網路安全性的原因,順便也提醒已經申請臉書API的朋友記得去更改設定。

      • 老師您好,
        那MAC該如何執行方法二呢?
        是甚麼地方能更改成Https嗎?
        套件說明書都沒更新到這些~

        我是學政治的門外漢,很感謝老師很專業熱心的提供這些資訊喔!看很多貼文都獲得廣大迴響,也謝謝老師還是願意抽空回覆!都想上老師的課程了呢!

      • 哈囉leon195512您好,更改為https://是指您在臉書開發者模式所使用的app,請進入控制面板,到設定的地方更改即可。若還有不清楚的地方,再請您提出,謝謝您關注本站。

    • 老師好,我同樣也是Mac的使用者且碰到相同問題
      想請問老師,
      所以在主控版的基本資料設定是「https://localhost:1410/」還是「http://localhost:1410/」
      又或是何處需要更改成Https呢?
      我在「有效的 OAuth 重新導向 URI」打上「https://localhost:1410/」後仍無法順利運作
      謝謝

      • 哈囉Billy您好,您登入facebook for developer以後所申請的app工具,是在主控版基本資料設定https://localhost:1410/沒錯(如上圖),您無法順利獲得授權的原因,我猜想可能是瀏覽器預設的問題,您可試試文中方法A:在fbOAuth語法前加上options(“browser" = NULL)指令(如文中的語法),若還是不行,再請您提出,謝謝您的回應與支持。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s