我编写了这个小脚本,将一张照片(images / hand.jpg)上传到默认应用程序相册中的用户个人资料中(在我调用此脚本的应用专辑中)。
现在我遇到了问题。 我想获得刚刚上传的照片的独特pid(图片ID)。 当我尝试回显$ data时,有一个这样的int:
120629757986939
似乎是创建对象的fbid:
http://www.facebook.com/photo.php?pid=115842&id=的 100001197451821 &安培; REF = fbx_album&安培; FBID = 120629757986939
我需要这个:
... / photo.php PID = 115842 &安培;?ID = 100001197451821&安培; REF = fbx_album&安培; FBID = 120629757986939
有谁知道如何获得这个价值? 感谢你的帮助, 卡米洛
在脚本下面我用来上传照片的内容:
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$token = $session['access_token'];//here I get the token from the $session array
$album_id = $album[0];
//upload your photo
$file= 'images/hand.jpg';
$args = array(
'message' => 'Photo from application',
);
$args[basename($file)] = '@' . realpath($file);
$ch = curl_init();
$url = 'https://graph.facebook.com/'.$album_id.'/photos?access_token='.$token;
$data = post($url, $referer, $agent, $cookie, $args, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
答案 0 :(得分:0)
如果没有人想出更好的答案,那么快速而肮脏的解决方案。
如果您向https://graph.facebook.com/120629757986939?access_token=发送请求...您将收到有关此图片的信息,其中一个字段link
将包含您的pid:
"link": "http://www.facebook.com/photo.php?pid=115842&id=100001197451821",
您可以手动解析此网址并从中获取pid。
答案 1 :(得分:0)
我也得到了“假”。您需要添加权限user_photos
,因为您正在轮询照片。