如何从这个FB脚本中获取pid?

时间:2010-08-15 10:04:32

标签: facebook

我编写了这个小脚本,将一张照片(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);

2 个答案:

答案 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,因为您正在轮询照片。