通过Facebook图表发布照片不再有效


Posting photo via Facebook graph no longer working

我正试图使用php-sdk发布一张照片——所有这些都成功地工作了几个月,但突然之间就没有了。

其他功能仍在使用相同的代码库(即:在墙上张贴消息)——只是张贴在我身边的照片。

try {
        $data = $facebook->api('/me/photos', 'post', $args);
      } catch (FacebookApiException $e) {
print_r($e);}

正在转储:

FacebookApiException对象([result:protect]=>Array([error_code]=>3[error]=>Array)([message]=>未设置URL![type]=>CurlException))[message:protect]=>未设置任何URL![string:private]=>[code:protected]=>3[file:protected]=>/locationofmy/base_facebook.php[line:protect]=>818[trace:privated]=>数组([0]=>数组[…………..]

从FB-php-sdk行818:

    if ($result === false) {
      $e = new FacebookApiException(array(
        'error_code' => curl_errno($ch),
        'error' => array(
        'message' => curl_error($ch),
        'type' => 'CurlException',
        ),
      ));
      curl_close($ch);
      throw $e;
    }
    curl_close($ch);
    return $result;
  }

这已经持续了很长一段时间了——Facebooks方面有什么变化吗?

编辑:php-sdk版本:3.1.1

编辑2:

$tag = array(
                'tag_uid' => 'acct_num',
                'x' => 0,
                'y' => 0
            );
        $tags[] = $tag;
        $args = array(
            'message' => $item_description,
            'image'   => '@' . realpath($temp_path . $tempFile),
            'tags'    => $tags,
            );

可能是文件不存在,或者文件系统无法再为其提供服务。你能确认"$temp_path.$tempFile"吗?错误是没有URL,通常意味着没有图像的真实路径。我怀疑,图像丢失和/或您的服务器已满,并且没有保存本地图像。(是的,我以前也遇到过这种情况!)

尝试将image更改为source。我相信这会解决你的问题。

Facebook API需要一个source字段,但我没有看到任何关于image字段的信息。

您可能还必须传递实际的文件内容,而不是real_path(基于示例)。或者,也可以传递一个外部URL(基于我对文档的理解)。

来源:https://developers.facebook.com/docs/reference/api/photo/

示例:https://developers.facebook.com/blog/post/498/