facebook graph api video pulling

Kars Barendrecht

I'm trying to embed a facebook video gallery on a website.

My problem is that it only shows one video, while the facebook graph shows multiple. How can I make all the videos appear?

<?php
$json_link = "https://graph.facebook.com/sophia.deboer/videos?access_token=862683673820828|15Gx44NW43LHI92o__bRPA6lz44&fields=id,name,description,created_time,from,source&limit=10";
$json = file_get_contents($json_link);
$obj = json_decode($json, true);
$feed_item_count = count($obj['data']);
for ($x = 0; $x < 10; $x++) {
    echo "<div class='item_box'>";
    echo "<div style='overflow:hidden;'>";

    // video source
    $source = $obj['data'][$x]['source'];

    echo "<div class='col-lg-6'>";
    echo "<video src='{$source}' controls>";
    echo "Your browser does not support the video tag.";
    echo "</video>";
    echo "</div>"; // end 'row'

    echo "<div class='col-lg-6'>";

    // user's custom message
    $name = isset($obj['data'][$x]['name']) ? htmlspecialchars_decode($obj['data'][$x]['name']) : "Video #" . $obj['data'][$x]['id'];
    $description = htmlspecialchars_decode(str_replace("\n", "<br>", $obj['data'][$x]['description']));

    // when it was posted
    $created_time = $obj['data'][$x]['created_time'];
    $converted_date_time = date('Y-m-d H:i:s', strtotime($created_time));
    $ago_value = time_elapsed_string($converted_date_time);

    // from
    $page_id = $obj['data'][$x]['from']['id'];
    $page_name = $obj['data'][$x]['from']['name'];

    echo "<h2 style='margin: 0 0 .5em 0;'>{$name}</h2>";

    echo "<div>";
    echo $description;
    echo "</div>";

    echo "<div style='margin:.5em 0 0 0; color: #999;'>";
    echo "Posted {$ago_value} by <a href='https://facebook.com/{$page_id}' target='_blank'>{$page_name}</a>";
    echo "</div>";

    echo "</div>";

    echo "</div>";
    echo "<hr />";
    echo "</div>"; // end 'item_box'
}
?>

Demo

Pedro Lobito

After removing :

$ago_value = time_elapsed_string($converted_date_time);
The code loops all videos.

I also changed this:

$feed_item_count = count($obj['data']);
for ($x = 0; $x < 10; $x++)

To This:

$feed_item_count = count($obj['data']);
for ($x = 0; $x < $feed_item_count; $x++)

 <?php
            $json_link = "https://graph.facebook.com/sophia.deboer/videos?access_token=862683673820828|15Gx44NW43LHI92o__bRPA6lz44&fields=id,name,description,created_time,from,source&limit=10";
            $json = file_get_contents($json_link);
            $obj = json_decode($json, true);
            $feed_item_count = count($obj['data']);
            for ($x = 0; $x < $feed_item_count; $x++) {
                echo "<div class='item_box'>";
                echo "<div style='overflow:hidden;'>";

                // video source
                $source = $obj['data'][$x]['source'];

                echo "<div class='col-lg-6'>";
                echo "<video src='{$source}' controls>";
                echo "Your browser does not support the video tag.";
                echo "</video>";
                echo "</div>"; // end 'row'

                echo "<div class='col-lg-6'>";

                // user's custom message
                $name = isset($obj['data'][$x]['name']) ? htmlspecialchars_decode($obj['data'][$x]['name']) : "Video #" . $obj['data'][$x]['id'];
                $description = htmlspecialchars_decode(str_replace("\n", "<br>", $obj['data'][$x]['description']));

                // when it was posted
                $created_time = $obj['data'][$x]['created_time'];
                $converted_date_time = date('Y-m-d H:i:s', strtotime($created_time));
                //$ago_value = time_elapsed_string($converted_date_time);

                // from
                $page_id = $obj['data'][$x]['from']['id'];
                $page_name = $obj['data'][$x]['from']['name'];

                echo "<h2 style='margin: 0 0 .5em 0;'>{$name}</h2>";

                echo "<div>";
                echo $description;
                echo "</div>";

                echo "<div style='margin:.5em 0 0 0; color: #999;'>";
                echo "Posted {$ago_value} by <a href='https://facebook.com/{$page_id}' target='_blank'>{$page_name}</a>";
                echo "</div>";

                echo "</div>";

                echo "</div>";
                echo "<hr />";
                echo "</div>"; // end 'item_box'
            }
            ?>

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Facebook sharing video Graph API

From Dev

How to post a video using Facebook Graph API

From Dev

Is it possible to delete Facebook Video via Graph API?

From Dev

How to upload video with Facebook graph API

From Dev

Upload a video to Facebook Graph API, and tag a place

From Dev

Facebook Graph API: get the full-size poster image for a video

From Dev

Accessing Facebook Graph API video insights using Python

From Dev

Facebook Graph API: get the full-size poster image for a video

From Dev

Correct Facebook Graph Api Video Insitghts Request PHP SDK

From Dev

Facebook graph API and Facebook groups

From Dev

Facebook graph API with websocket?

From Dev

Graph API Facebook timeout

From Dev

Facebook Graph API Gender

From Dev

Facebook Graph search API

From Dev

Facebook Graph API insights

From Dev

Graph API Facebook timeout

From Dev

Facebook Graph search API

From Dev

Facebook Graph API Upgrade

From Dev

Facebook API Video Views

From Dev

Upload Video to Facebook via video-graph.facebook iOS

From Dev

Upload Video to Facebook via video-graph.facebook iOS

From Dev

PHP - Posting video on Facebook through Graph API using a valid access token

From Dev

Android Facebook Video Upload with Graph API - How to use multipart/form-data

From Dev

Facebook Profile Visitors Graph API

From Dev

Friendlist not complete Facebook Graph API

From Dev

Facebook Graph Api search in android

From Dev

facebook graph api - missing fields

From Dev

Facebook Graph API and app secret

From Dev

Facebook graph api search friends