3

Heroku でホストされる新しい Facebook アプリの作成を開始したばかりで、まだ変更を加えていませんが、機能を少しテストして、機能に慣れました。「メッセージの送信ボタン」を試すまでは問題ありません。次のエラーログを含むダイアログが表示されます。

An error occurred. Please try later

API Error Code: 100
API Error Description: Invalid parameter
Error Message: 'link' is invalid.

関連するコードを少し調べましたが、何も問題はありませんが、私はまったく新しいので、何が問題なのかを知るために少し助けてくれるかもしれません:

    $('#sendToFriends').click(function() {
          FB.ui(
            {
              method : 'send',
              link   : $(this).attr('data-url')
            },
            function (response) {
              // If response is null the user canceled the dialog
              if (response != null) {
                logResponse(response);
              }
            }
          );
        });

私が問題があるとは思わない理由は$(this).attr('data-url');、以下が機能するからです (壁への投稿ボタン):

 $('#postToWall').click(function() {
      FB.ui(
        {
          method : 'feed',
          link   : $(this).attr('data-url')
        },
        function (response) {
          // If response is null the user canceled the dialog
          if (response != null) {
            logResponse(response);
          }
        }
      );
    });

  }

getUrl()値を取得する関数は次のとおりです。

 public static function getUrl($path = '/') {
if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1)
  || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'
) {
  $protocol = 'https://';
}
else {
  $protocol = 'http://';
}

return $protocol . $_SERVER['HTTP_HOST'] . $path;

}

誰でも私を助けてもらえますか?Facebookの開発者フォーラムとstackoverflowで少し検索しましたが、エラーコードは同じでしたが、エラーメッセージが異なっていました。feedメソッドは機能しますが、メソッドsendは機能しないため、この問題はFacebookにあると思います。どちらのメソッドも facebook SDK で定義されています

注:最新のphp sdkを使用しています

4

1 に答える 1