【问题标题】:Facebook API photo upload from URL not working从 URL 上传 Facebook API 照片不起作用
【发布时间】:2012-09-28 13:17:16
【问题描述】:

尝试通过访问令牌、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。

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

【问题讨论】:

标签: facebook url upload photo


【解决方案1】:

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

【讨论】:

  • 我尝试忽略它,但我收到一条错误消息,提示“假设应用程序/x-www-form-urlencoded 未指定内容类型”。应该是什么? “文本/纯文本”?
  • 有什么想法吗?我尝试了一堆并得到了相同的结果(尝试过:text/plain、text/html、application/xml。第一个 http_build_query 参数被读取,其他参数被忽略)。
  • “读取第一个 http_build_query 参数,忽略其他参数” - 尝试将函数 http_build_query 的第三个参数显式设置为 '&' - 否则可能使用 '&' ,这会弄乱参数。
猜你喜欢
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
  • 2020-06-07
  • 1970-01-01
  • 1970-01-01
  • 2011-06-27
  • 2017-06-16
相关资源
最近更新 更多