[英]Fetching Facebook graph API JSON value
我有一個簡單的 PHP 代碼,它通過 JSON 獲取 Facebook 圖形 API 的值(某個粉絲專頁的點贊總數)。 它適用於絕大多數粉絲頁面,但對於 3 個(我跟蹤的 17 個粉絲頁面中的)它根本無法讀取和打印該值。
我不明白問題出在哪里,因為我要獲取的數據是公開的,並且所有頁面都應用了相同的代碼。
這是為 ID 為 214014840762 的粉絲頁面打印正確值的代碼:
<?php
$currsiteurl = 'http://graph.facebook.com/214014840762';
$graph = json_decode(file_get_contents($currsiteurl));
$currnofans = $graph->likes;
echo "Number of likes: ".$currnofans; // prints out 107936
?>
但是,如果我只是將 ID 更改為 160788560626000 或 167134649991034,那么相同的代碼將不再起作用,並且不會打印任何內容。
提前致謝!
我不知道這些頁面是什么或它們在 Facebook 上的 URL 是什么,所以我無法驗證這一點,但是,您的頁面可能沒有發布(可能不太可能),或者(可能更有可能)是年齡受限制的。 如果頁面受年齡限制,Facebook 圖表不允許您訪問頁面信息。 不幸的是,即使您傳遞了 Facebook 應用程序訪問令牌,甚至是 18 歲以上用戶的訪問令牌,情況也是如此。這非常愚蠢,並且必須至少有 5 個關於 bugs.developers.facebook 的錯誤報告。 com 為它。
2011 年 6 月 13 日更新
最近,Facebook 進行了更新,要求您使用有效的用戶訪問令牌來提取有關頁面的信息。 這是一個可怕的變化,imo,但它就是這樣。 如果沒有有效的用戶訪問令牌,您將從不是基本信息(根、 http://graph.facebook.com/<page_id>
)或photos
或albums
端點的每個端點收到false
或error
響應。
因此,如果您請求任何其他端點( posts
、 feed
、 videos
、 statuses
等),您需要確保提供有效的用戶訪問令牌來訪問它們。
如果我是對的,那么結果是一個數組而不是一個 class 所以嘗試類似 $graph["likes"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.