0

尝试通过访问令牌、album_id 或 user_id 和 URL 上传照片,但出现错误:

"(#324) 需要上传文件" "OAuthException"

我已经检查了令牌并且它是有效的。也可以从文件上传,但不能从 URL 上传。Facebook 似乎不想识别“url”参数。这很奇怪,因为前几天我发誓测试它工作正常。

还有其他人有这个问题吗?

我的代码:

$graph_url = "https://graph.facebook.com/ALBUM_ID/photos?access_token=TOKEN";
$postdata = http_build_query( array('message' => 'hello', 'url' => IMAGE_URL);
$opts = array('http' => array(
'method' => 'POST',
'header' =>
'Content-type: application/x-www-form-urlencoded',
'content' => $postdata));
$context  = stream_context_create($opts);
$result = json_decode(file_get_contents($graph_url, false, $context));

我也检查过,它在 FB 的图形 API 资源管理器中工作,但在使用任何 REST 客户端工具时也不起作用。

更新: 我通过在 http_build_query 中切换数组的顺序来使其工作,以便 URL 是第一个(或删除“消息”参数)。第二个元素总是 ingored。

谁能看到我做错了什么?为什么在这种情况下忽略第二个参数?虽然上传“有效”,但我仍然希望“消息”参数能够正常工作,以便也可以加载图像描述。

4

1 回答 1

0

当您通过 URL 上传图像时,您不能使用 Content-type application/x-www-form-urlencoded - 这是从您的服务器完成的真实文件上传source,仅使用参数。

于 2012-10-08T11:37:10.340 回答