簡體   English   中英

獲取 Facebook 圖 API JSON 值

[英]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> )或photosalbums端點的每個端點收到falseerror響應。

因此,如果您請求任何其他端點( postsfeedvideosstatuses等),您需要確保提供有效的用戶訪問令牌來訪問它們。

如果我是對的,那么結果是一個數組而不是一個 class 所以嘗試類似 $graph["likes"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM