我正在开发一个网站,该网站必须在我的个人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 FacebookFacebookSession;
use FacebookFacebookRequest;
use FacebookGraphUser;
use FacebookFacebookRequestException;
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:SitoFBtest.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();
}
}
?>
提前感谢!
问题可能出在以下行上:
'source' => new CURLFile('Z:SitoFBtest.jpg', 'image/png'),
您将类型设置为 png
并上传jpg
。更新它,看看它是否有效。