概覽:
圖譜 API 是存取 Facebook 開放平臺數據的主要方式。它是一種以 HTTP 爲基礎的輕量級 API,可用於查詢數據、發佈新動態、管理廣告、上傳照片和完成一款應用可能需要執行的各種其他任務。
Facebook信息組成:
-
節點 — 用戶、照片、主頁、評論等基本“事物”
-
連線 — 上述“事物”之間的聯繫,例如:主頁照片或照片的評論
-
字段 — 關於上述“事物”的信息,例如:用戶的生日或主頁名稱
大部分圖譜 API 請求需要使用訪問口令(token),訪問口令可以由您的應用通過執行Facebook 登錄時生成。
總的來說,向節點或這些節點的連線發出 HTTP GET 請求即可讀取 API,HTTP POST 請求可發佈信息至 API,向相同的端點發出 HTTP DELETE 請求(並通過 POST 請求執行更新)即可通過 API 執行刪除操作。
圖譜 API 有多個可用的版本,一般格式適用於所有版本:GET
graph.facebook.com/v.X.Y/{request-path} 其中 X.Y
是需要的版本號。
在學習過程中可與圖譜API探索工具(可用於查詢、添加和移除數據的輕量級工具)結合使用。
使用:
1、讀取:向相關端點發送 HTTP GET
請求,即可讀取圖譜 API 中的所有節點和連線。
大多數 API 調用都必須使用訪問口令簽名。您可以查看圖譜 API 參考文檔,瞭解要讀取的節點或連線,確定該訪問口令中需要哪些權限。您也可以使用圖譜 API 探索工具快速生成口令,以便嘗試使用 API 和了解它的工作原理。
讀取包含:選擇字段、排序、網址查找、修改API請求、發出嵌套請求、遍歷分頁結果(基於遊標的分頁、基於時間的分頁、基於偏移的分頁)、發出大請求、發出多個請求(多個編號讀取請求)、節點自檢
2、發佈:所有圖譜 API 發佈都一樣,向相關連線發出 HTTP POST
請求並附加所有必要的參數。
所有發佈調用必須使用訪問口令簽名。您可以查看圖譜 API 參考文檔,瞭解要發佈內容的節點,確定該訪問口令中需要哪些權限。
發出多個請求:您可以使用批量請求將發佈調用與讀取調用鏈接起來。如需瞭解其他信息,請參閱發出多個 API 請求。
3、更新:所有圖譜 API 更新都一樣,向相關節點發出 HTTP POST
請求並附加所有更新的參數。
4、刪除:從圖譜刪除節點,方法是向節點發出 HTTP DELETE
請求。
一般來說,應用只能刪除自己創建的內容。要支持對 HTTP 方法部分支持的客戶端,您可以向端點發出 POST
請求並附加參數 method=delete
,以便替代
HTTP 方法。
例如,您可以通過發出以下請求來刪除評論:
POST graph.facebook.com
/{comment-id}?
method=delete
5、搜索:可以使用
/search
端點搜索社交關係圖譜中的多個公開對象。
搜索的語法是:
GET graph.facebook.com
/search?
q={your-query}&
type={object-type}
可用的搜索類型:
6、錯誤處理:向 Fackbook API 發出的請求可能會產生多種不同的錯誤響應。
API 請求失敗導致的一個常見錯誤響應:
{
"error":{
"message":"Message describing the error",
"type":"OAuthException",
"code":190,
"error_subcode":460,
"error_user_title":"A title",
"error_user_msg":"A message",
"fbtrace_id":"EJplcsCHuLu"
}
}
-
message
:人類可讀的錯誤說明。 -
code
:錯誤代碼。下方列出了常見值以及常用恢復策略。 -
error_subcode
:關於錯誤的其他信息。下方列出了常見值。 -
error_user_msg
:向用戶顯示的消息。消息語言以 API 請求的區域設置爲依據。 -
error_user_title
:代表對話框的標題(如顯示)。消息語言以 API 請求的區域設置爲依據。
錯誤代碼:https://developers.facebook.com/docs/graph-api/using-graph-api
7、圖譜API 調試模式:啓用調試模式時,圖譜 API 響應可能包含其他字段,說明請求可能存在的問題。
啓用調試模式,請使用 debug
查詢字符串參數。例如:
GET graph.facebook.com
/v2.3/me/friends
access_token=...&
debug=all
8、確定API 請求所使用的版本
圖譜 API 爲所有響應提供名爲 facebook-api-version
的請求標頭,說明生成響應的 API 的準確版本。
facebook-api-version:v2.0
該 facebook-api-version
標頭可幫助您確定 API 調用是否是從您期望的版本返回。更多:
圖譜 API方法文檔:https://developers.facebook.com/docs/graph-api/reference