我正在一个网站上工作,必须在我的个人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();
}
}
?>
提前致谢!
答案 0 :(得分:0)
问题可能在于这一行:
'source' => new CURLFile('Z:\Sito\FB\test.jpg', 'image/png'),
您将类型设置为png
并上传jpg
。更新它并查看它是否有效。