Posting an embedded video link using the Facebook Graph API

后端 未结 7 1605
独厮守ぢ
独厮守ぢ 2020-12-02 06:29

When manually attaching a video link (from YouTube, Vimeo, etc) to a post using the Facebook web interface, Facebook automatically recognizes the link as a video, and allows

相关标签:
7条回答
  • 2020-12-02 07:10

    Instead try posting the link as the message attribute, it works for me that way.

    message = your message + link
    
    0 讨论(0)
  • 2020-12-02 07:14

    Here's how to post a video manually for YOUTUBE and VIMEO (hard to find online). Specifically if you want to have the LINK value pointing to a user's website/blog post where it originates.

                    //search for youtube.com and vimeo.com in the 'link' value
                    if (preg_match("/youtube.com/", $model->link) || preg_match("/youtu.be/", $model->link)){
                        if (preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $model->link, $match))
                        {
                            $video_code = $match[1];
                        }
                       $source = 'http://www.youtube.com/e/'.$video_code; 
                   $picture = 'http://img.youtube.com/vi/'.$video_code.'/0.jpg';
                    }
                    else if (preg_match("/vimeo.com/", $model->link))
                    {
                        if (preg_match('/vimeo\.com\/(clip\:)?(\d+).*$/', $model->link, $match))
                        {
                            $video_code = $match[2];
                         }
                        /* Get Vimeo thumbnail */
                        $hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/$video_code.php"));
                        $picture = $hash[0]['thumbnail_medium'];  
                        $source = 'https://secure.vimeo.com/moogaloop.swf?clip_id='.$video_code.'&autoplay=1';
                    }
    
                    $args = array(
                    'message'   => //user's comment
                    'name' => //Title of post
                    'link'      => 'http://...'//link to video on user's website
    
                    'source' => $source,
                    'picture' => $picture,
                    );
    
                    if ($this->_facebook->api("/".$this->facebookUserID."/feed", "post", $args)){
                    //posted to facebook
                    }
    
    0 讨论(0)
  • 2020-12-02 07:15

    It appears that you have to extract the URLs of the actual swf in the page and the thumbnail image yourself. For example, this seems to work:

    curl -F 'access_token=...' \
         -F 'message=Link to YouTube' \
         -F 'link=http://www.youtube.com/watch?v=3aICB2mUu2k' \
         -F 'source=http://www.youtube.com/v/3aICB2mUu2k' \
         -F 'picture=http://img.youtube.com/vi/3aICB2mUu2k/0.jpg' \
         https://graph.facebook.com/me/feed
    

    It appears that you can generate a valid source and picture from the page URL. The URL looks like http://www.youtube.com/watch?v=<code>; take the code (3aICB2mUu2k here) and insert it into the URLs http://www.youtube.com/e/<code> for the source and and http://img.youtube.com/vi/<code>/0.jpg for the picture.

    0 讨论(0)
  • 2020-12-02 07:17

    Don't use /feed, use /links (https://graph.facebook.com/me/links/ ) and simply POST "message" and "link" parameters using the YouTube /watch?v=ZL7nV7WwJKg URL format. /feed never worked for me, it just posted a static graphic and link but I wanted it to actually play embedded on Facebook as it does when you share the Video from YouTube to Facebook. Works like a charm.

    0 讨论(0)
  • 2020-12-02 07:24

    Sharing as a link with /links instead of /feed seems to work better. YouTube, Vimeo, and Facebook videos are embedded as if posting manually.

    curl -F 'access_token=...' \
         -F 'message=Link to YouTube' \
         -F 'link=http://www.youtube.com/watch?v=3aICB2mUu2k' \
         https://graph.facebook.com/me/links
    
    0 讨论(0)
  • 2020-12-02 07:26

    Sharing using the API any .swf file or video wont show a thumbnail on facebook unless its youtube . And that is by design as per facebook. Check this link

    https://developers.facebook.com/bugs/589975484398226?browse=external_tasks_search_results_526fc388b99e18881434478

    0 讨论(0)
提交回复
热议问题