尝试按访问令牌,album_id或user_id和网址上传照片,但收到错误:
“(#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首先(或删除'message'参数)。第二个元素总是进入。
谁能看到我做错了什么?为什么在这种情况下忽略第二个参数?虽然上传“有效”但我仍然希望'message'参数能够正常工作,以便也可以加载图像描述。
答案 0 :(得分:0)
当您通过网址上传图片时,您必须不使用内容类型的应用程序/ x-www-form-urlencoded - 这是真正的文件上传仅使用source
参数从您的服务器完成。