我正在使用访问令牌
从jquery创建此URLwww.mysite.com/xyz.php?access_token=valid_access_token&id=1
并上传照片我在xyz.php
$facebook = new Facebook(array(
'appId' => 'my_app_id',
'secret' => 'my_app_secret',
));
// Get User ID
$user = $facebook->getUser();
$facebook->setFileUploadSupport(true);
$args = array('message' => 'my_message');
copy($image, 'tmp/file.jpeg');
$args['image'] = '@' . realpath('tmp/file.jpeg');
$data = $facebook->api('me/photos', 'post', $args);
unlink('tmp/file.jpeg');
但它不起作用。我收到此错误
Uncaught OAuthException: An active access token must be used to query information about the current user.
我创建了一个访问令牌。为什么我收到此错误? 如何在我的代码中使用accessToken(在我的网址中)上传图片?
答案 0 :(得分:1)
您需要获取用户的访问令牌才能代表用户执行任何操作。尝试使用以下代码...
$facebook = new Facebook(array(
'appId' => 'my_app_id',
'secret' => 'my_app_secret',
));
// Get User ID
$user = $facebook->getUser();
if (!$user)
{
// User is not logged in or hasn't added the application!
$login_url = $facebook->getLoginUrl(array(
'scope' => 'publish_stream,user_photos,photo_upload',
));
die('<script>top.window.location = "' . $login_url . '";</script>');
}
$facebook->setFileUploadSupport(true);
$args = array('message' => 'my_message');
copy($image, 'tmp/file.jpeg');
$args['image'] = '@' . realpath('tmp/file.jpeg');
$data = $facebook->api('me/photos', 'post', $args);
unlink('tmp/file.jpeg');