【问题标题】:How to get the pid from this FB Script?如何从此 FB 脚本中获取 pid?
【发布时间】:2010-08-15 10:04:32
【问题描述】:

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

【问题讨论】:

    标签: facebook


    【解决方案1】:

    如果没有人想出更好的答案,这里就是快速而肮脏的解决方案。

    如果您向 https://graph.facebook.com/120629757986939?access_token=... 发送请求,您将获得有关此图片的信息,其中一个字段 link 将包含您的 pid:

    "link": "http://www.facebook.com/photo.php?pid=115842&id=100001197451821",
    

    您可以手动解析此 url 并从中获取 pid。

    【讨论】:

    • 我试过这个 :) Graph API 返回“false”。有没有解释整个过程的教程?坚持这一点时,我真的感到有点愚蠢...如果有人知道错误在哪里/应该添加什么,将不胜感激,感谢您的所有帮助,WSP
    • @Camillo 它返回了什么错误?它不应该只是返回 false,必须有一些错误消息。
    【解决方案2】:

    我也得到了“假”。您需要添加权限user_photos,因为您正在轮询照片。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-19
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2014-10-05
      • 2013-06-02
      相关资源
      最近更新 更多