使用facebook api上传视频

时间:2015-09-03 11:29:19

标签: php facebook facebook-graph-api

这是我使用API​​在Facebook上传视频时找到并运行的代码。

<?php
     $app_id = "******";
     $app_secret = "******";
     $my_url = "http://www.someurl.com/testing/2015/fbtest/4.php";
     $video_title = "video";
     $video_desc = "nothing";
     $page_id = "********"; 

     $code = isset($_REQUEST['code']) ? $_REQUEST['code'] : NULL;

     echo '<html><body>';

    if(empty($code)) {

    $dialog_url = "http://www.facebook.com/dialog/oauth?client_id=".$app_id . "&redirect_uri=" . urlencode($my_url)
  . "&scope=publish_actions";
   echo('<script>top.location.href="' . $dialog_url . '";</script>');
   } else {


  $token_url = "https://graph.facebook.com/oauth/access_token?client_id="
  . $app_id . "&redirect_uri=" . urlencode($my_url)
  . "&client_secret=" . $app_secret
  . "&code=" . $code;
  $access_token = file_get_contents($token_url);

  $accounts_url = "https://graph.facebook.com/me/accounts?" .$access_token;
  $response = file_get_contents($accounts_url);

   $resp_obj = json_decode($response,true);
   $accounts = $resp_obj['data'];


   foreach($accounts as $account) {
   if($account['id'] == $page_id) {
     $access_token = $account['access_token'];
     break;
   }
   }


     $post_url = "https://graph-video.facebook.com/" . $page_id . "/videos?"
  . "title=" . $video_title. "&description=" . $video_desc
  . "&access_token=". $access_token;


   echo '<form enctype="multipart/form-data" action=" '.$post_url.' "  
   method="POST">';
   echo 'Please choose a file:';
   echo '<input name="file" type="file">';
   echo '<input type="submit" value="Upload" />';
   echo '</form>';
 }

   echo '</body></html>';
   ?>`

当我运行代码时,我得到这样的错误。

      error": 
     {   
     "message": "Invalid OAuth access token.",  
     "type": "OAuthException",       
     "code": 190
     }

但是当我搜索答案时,我看到涉及包括访问密钥的讨论。我不知道在哪里更改我的代码,或者是否有任何其他可能的解决方案来解决此错误。

1 个答案:

答案 0 :(得分:0)

要解决此问题,您需要在应用中进行OAuth身份验证。 这是官方页面,它解释了协议:

此外,您还可以查看oauth 2.0演示和PHP信息: