1

我正在构建一个 Facebook 应用程序,用户在该应用程序中选择一张图片,该图片会上传到我的应用程序相册中。一切正常,图片被上传并张贴在用户的墙上等没有问题。

但是,在上传之后,我尝试使用作为上传响应的 ID 获取新上传的照片,这就是我遇到问题的地方。FB 只是告诉我“不支持的 GET 请求”。

这是我拥有的相关代码:

<?php
# Works perfectly fine
$response = $fb->api('/me/photos', 'post', array(
    'message'   => 'Some message', 
    'source'    => '@' . realpath('path/to/img.jpg')
));

# "Unsupported GET request"... :/ (SOMETIMES ??)
$photo = $fb->api('/' . $response['id']);

所有身份验证等显然都有效(否则我根本无法上传)它只是获取不起作用的照片。

我同时使用 PHP 和 JS SDK:s 并且我都尝试过。我从 JS 开始,但它从未奏效。但是,PHP 调用有时会起作用。

有谁知道我做错了什么?

编辑:好的,所以我跳过了获取新创建的照片,而是简单地使用从上传返回的 ID 构造了一个 URL(我所追求的只是照片对象的链接属性——我认为使用它而不是更多的未来证明构建自己的)。但是,即使现在我重定向到http://www.facebook.com/photo.php?fbid=ID_GOES_HERE&makeprofile=1 有时(再次:P)Facebook 会告诉我“内容不可用”。然而,在 Ctrl+R 之后,它是。在我看来,即使我的$fb->api('/me/photos', 'post'...-call 返回了一个 ID,FB 还没有完成添加新内容。

想法?

4

2 回答 2

0

嗯,很奇怪,因为同样的事情发生在我身上。

工作正常,12 小时前,完全停机。我不能再发帖了,因为我有返回 ID。

当我用返回 id 询问图形 api 时,我得到了这个:

{
  "error": {
    "message": "Unsupported get request.", 
    "type": "GraphMethodException", 
    "code": 100
  }
}

只是要注意它只有在我发布图片时才会发生。有了链接或状态,一切都很好。

FB api有问题吗?

于 2013-09-11T13:23:23.660 回答
0

对我来说,这只是因为发布照片的方法似乎发生了变化: https ://developers.facebook.com/docs/reference/api/page/#photos

 $facebook->setFileUploadSupport(true);     
        $picture = "@".realpath('path/to/the/photo');  

        $result = $facebook->api(
        '/fb_id_of_the_page/photos/',
        'post',
        array('access_token' => 'access_token',
                'message' => 'message',
                'source' => $picture
            )
        );
于 2013-09-11T13:54:18.370 回答