使用Facebook PHP API的视频下载

问题描述 投票:-1回答:1

我编写了代码,可以从我的页面下载大约5000部所有视频。但是我有一些问题。首先,我正在使用xampp。我已经使用每个视频的描述和日期为每个视频制作了文件名,最后添加了.mp4。像这样的“ XXXX XXXXXXX XXXXX 2020年2月9日。mp4”。该文件名是根据描述和发布日期自动生成的。但是当我在file_put_contents中使用它时,它给了我这个错误:file_put_contents(filename.mp4):无法打开流:第51行的C:\ xampp \ htdocs \ xxxx \ xxxx.php中没有此类文件或目录。

如果我输入静态名称,例如'X.mp4',则会下载所有文件,但由于名称相同,它们会相互替换。请帮我解决这个问题。还可以使用此php代码轻松获取大量数据吗?

try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    'XXXXX/videos?fields=source,description,created_time,live_status&limit=5',
    $access_token
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphEdge = $response->getGraphEdge();

foreach ($graphEdge as $graphNode)
{
    //$live = $graphNode->getField('live_status');
    //if($live != 'VOD')
    //{
    //  continue;
    //}
    $url = $graphNode->getField('source');
    //echo $url;
    $date = $graphNode->getField('created_time');

    $date = $date->format('d');
    $date = $date .' Sep 2017';


    $name = $graphNode->getField('description');
    $res = preg_replace("/[^a-zA-Z0-9\s-]/", "", $name);

    if (strlen($res) > 89) {
        $res = substr($res,0,89); 
}
    $res = $res.' '.$date.'.mp4';
    echo $res;
    echo '<br>';
    if(file_put_contents($res,file_get_contents($url))) { 
            echo "File downloaded successfully"; 
    } 
    else { 
        echo "File downloading failed."; 
} 
echo '<br>';
}```
php facebook facebook-graph-api xampp facebook-php-sdk
1个回答
0
投票

离话题有点远。您是否知道(或想要编写代码)简单的php / mysql以执行以下操作:

1)表单以选择视频文件并上传到FB组(表单的用户已经登录到应用程序内的FB-他们可以通过单选按钮选择哪个Public GROUP或自己的时间表来发布视频)2)需要返回FB中的视频URL,并将其放入具有用户名和视频链接的mysql表中。

将为此解决方案付费。

罗伊

© www.soinside.com 2019 - 2024. All rights reserved.