2012-04-16 109 views
8

從Facebook圖形API(https://developers.facebook.com/docs/reference/api/):Facebook API - 什麼是「curl -F」?

發佈:您可以通過發出HTTP POST請求到相應的連接網址,使用訪問令牌 發佈到Facebook的圖形。例如,您可以通過 張貼在阿瓊的牆新牆後發出POST請求https://graph.facebook.com/arjun/feed

curl -F 'access_token=...' \ 
    -F 'message=Hello, Arjun. I like this new API.' \ 
    https://graph.facebook.com/arjun/feed 
  • Q1:這是一個JavaScript或php?
  • 問題2:我沒有看到「curl -F」 函數引用無處,有人可以告訴我一個嗎?

非常感謝〜

+0

LOL我們在這裏登陸時使用FB API混淆curl -F too:D – 2015-04-20 02:45:22

回答

11

curl(或cURL)是用於訪問URL的命令行工具。

文檔:http://curl.haxx.se/docs/manpage.html

在這個例子中,它們被簡單地發送到POST https://graph.facebook.com/arjun/feed-F正在定義與POST一起提交的參數。

這不是javascript或php。你可以在php中使用curl,雖然任何帶有這些參數的POST地址都可以完成示例演示。

要做到這一點在JavaScript中,您將創建一個表單,然後提交:

var form = document.createElement("form"); 
form.setAttribute("method", "post"); 
form.setAttribute("action", "https://graph.facebook.com/arjun/feed"); 

var tokenField = document.createElement("input"); 
tokenField.setAttribute("type", "hidden"); 
tokenField.setAttribute("name", "access_token"); 
tokenField.setAttribute("value", token); 

var msgField = document.createElement("input"); 
msgField.setAttribute("type", "hidden"); 
msgField.setAttribute("name", "message"); 
msgField.setAttribute("value", "Hello, Arjun. I like this new API."); 

form.appendChild(hiddenField); 

document.body.appendChild(form); 
form.submit(); 

使用jQuery,這是一個簡單多了:

$.post("https://graph.facebook.com/arjun/feed", { 
    access_token: token, 
    message: "Hello, Arjun. I like this new API." 
}); 
+2

非常感謝你,我的工作幾乎全部用你的榜樣完成! – 2012-04-16 19:17:44

+0

謝謝,但是如果我從哪裏獲取訪問令牌? 如果我沒有從應用程序中訪問Facebook,那麼Facebook將如何知道此令牌的用途是什麼? – 2013-02-12 21:13:23

+0

您需要通過登錄令牌授予過程才能獲取訪問令牌。 https://developers.facebook.com/docs/reference/api/data-access/ – 2013-02-12 21:17:11