PHP - FB照片/视频上传问题

时间:2015-04-16 10:30:19

标签: php facebook facebook-graph-api upload

我正在一个网站上工作,必须在我的个人FB页面上传一些视频和照片。

我正在使用PHP SDK v4,我在FB上注册了我的测试应用程序(称为CountLikes)。再试一次,我终于在墙上发了一个简单的帖子,所以此刻我想在我的个人资料上上传一张图片。

我复制了此处编写的代码,更改了文件名和路径:https://developers.facebook.com/docs/php/howto/uploadphoto/4.0.0

我没有收到任何错误消息,但代码运行不正常。当我查看我的个人资料时,我发现有一张名为" CountLikes Album"的新专辑,但里面没有照片。

我使用的访问令牌具有所有可能的权限(我将在上传时选择正确的权限)。

我在这里发布我编写的代码(APPID,APPSECRET和TOKEN在原始代码中正确编写):你能帮助我吗?

<?php
define('FACEBOOK_SDK_V4_SRC_DIR', 'Z:/Sito/FB/facebook-php-sdk-v4-4.0-dev/src/Facebook/');
require __DIR__ . '/facebook-php-sdk-v4-4.0-dev/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
FacebookSession::setDefaultApplication('APPID','APPSECRET');
FacebookSession::enableAppSecretProof(false);
$session = new FacebookSession('TOKEN');
if($session) 
{
  try 
  {
    $response = (new FacebookRequest(
  $session, 'POST', '/me/photos', array(
    'source' => new CURLFile('Z:\Sito\FB\test.jpg', 'image/png'),
    'message' => 'User provided message'
  )
))->execute()->getGraphObject();
echo "Posted with id: " . $response->getProperty('id');
  } 
   catch(FacebookRequestException $e) 
   {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
}
?>

提前致谢!

1 个答案:

答案 0 :(得分:0)

问题可能在于这一行:

'source' => new CURLFile('Z:\Sito\FB\test.jpg', 'image/png'),

您将类型设置为png并上传jpg。更新它并查看它是否有效。