2

php-sdk を使用して写真を投稿しようとしています - すべてが何ヶ月も正常に機能していましたが、突然サイコロがなくなりました。

他の機能は、同じコード ベースで動作します (例: ウォールへのメッセージの投稿)。私の側で壊れた写真の投稿だけです。

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

ダンプしています:

FacebookApiException Object ( [result:protected] => Array ( [error_code] => 3 [error] => Array ( [message] => No URL set! [type] => CurlException ) ) [message:protected] => いいえURL set! [string:private] => [code:protected] => 3 [file:protected] => /locationofmy/base_facebook.php [line:protected] => 818 [trace:private] => Array ( [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;
  }

これは長い間機能していました。Facebook 側で何か変更がありましたか?

編集: 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,
            );
4

2 に答える 2

0

を に変更してみてimageくださいsource。これで問題が解決すると思います。

Facebook API にはsourceフィールドが必要ですが、フィールドについて何も表示されませんでしたimage

また、(例に基づいて) real_path の代わりに実際のファイルの内容を渡す必要がある場合もあります。または、代わりに、外部 URL を渡します (ドキュメントの理解に基づいて)。

ソース: https://developers.facebook.com/docs/reference/api/photo/

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

于 2012-07-17T12:23:00.327 に答える
0

ファイルが存在しないか、ファイル システムがそれを提供できなくなっている可能性があります。「$temp_path . $tempFile」を確認できますか - エラーは URL ではありません。通常、これは画像への実際のパスがないことを意味します。画像が見つからないか、サーバーがいっぱいで、ローカルの画像が保存されていない可能性があります。(はい、これは私に以前に起こったことです!)

于 2012-07-18T02:59:27.457 に答える