私はPHPとFacebookのPHP SDKを初めてお使いになるので、'like_count'
をFacebookのページ投稿'likes'
'summary'
から入手しようとしています。 。 var_export($likekey['summary']);
リターンがNULLながらページの投稿から 'total_count'を取得しています '概要' - Facebook PHP SDK(閉鎖)
$response = $fb->get('/me/posts?fields=admin_creator,likes.limit(0).summary(true)&limit=30');
$getLikeCount = $response->getGraphEdge()->asArray();
foreach($getLikeCount as $likekey){
if(isset($likekey['likes'])){
var_export($likekey['likes']);
foreach ($likekey['likes'] as $likekey){
//echo $likekey['total_count'] . '<br>';
}
}
}
var_export($likekey['likes']);
輸出空白の配列:私の現在のコードは、次が含まれています。しかし、グラフAPIエクスプローラで、それは次の値を返します。
{
"admin_creator": {
"name": "NAME",
"id": "ID"
},
"id": "ID",
"likes": {
"data": [
],
"summary": {
"total_count": 1022,
"can_like": true,
"has_liked": false
}
}
},
'likes'
と「summary'
の私の方法からアクセスすると動作しないので、私は'total_count'
フィールドにアクセスするにはどうすればよいです。
編集:getGraphEdge()->asArray();
を使用すると、要約配列が返されないため、機能しません。私はどういうわけかgetDecodedBody();
または別の方法から値を取得する必要があります。 $getLikeCount = $response->getDecodedBody();
を使用する場合は、次のコードを使用してください。
foreach($getLikeCount as $key){
if(isset($key['admin_creator'])){
echo $key['admin_creator']['name'];
}
}
何も返しません。私は$getLikeCount = $response->getGraphEdge()->asArray();
の場合に動作し、私の現在の方法では動作しませんので、'admin_creator'
を例として使用していますが、投稿の'summary'
から'total_count'
フィールドを取得しようとしており、'summary'
が表示されません。配列をgetGraphEdge()
メソッドを使用している場合は、getDecodedBody();
を使用する場合にのみ表示されます。 getDecodedBody()
から値を取得する方法があるか、またはtotal_count
フィールドをsummary
から取得する回避策があるかどうかは疑問です。
回答: 答えは以下のとおりです。
少し編集しました。問題は 'getGraphEdge() - > asArray();'が 'summary'配列を返さないということです。 – Jack