0

URL 変数を Facebook フィード ダイアログに渡す際に問題が発生しています。ボタンを押すとリンクで見れますが、Facebookに投稿すると、&.

これが私のコードです:

<a href="https://www.facebook.com/dialog/feed?
app_id=142170752632916&
redirect_uri=http://domain.com/&
link=$currentUrl&amp;
picture=http://fbrell.com/f8.jpg&amp;
name=$title&amp;
description=$description">Share</a>

$currentUrl = $_SERVER['REQUEST_URI'] ;

私の URL は次のようになります。

www.Domain_Name.com/index.php?subaction=showfull&id=1368007502&start_from=3&template=Default&#disqus_thread

Facebookに投稿すると、次のようなリンクが表示されます。

www.Domain_Name.com/index.php?subaction=showfull

ID やその他の属性は渡されません。

修正するにはどうすればよいですか?

編集:

リンクをフィードに投稿しようとすると、次のようになります。

https://www.facebook.com/dialog/feed?%20%20app_id=142170752632916&%20%20redirect_uri=http://domain.com /&%20%20link=http://www.domain.com/FrontEnd/index.php?subaction=showfull&id=1368007502&start_from=3&template=Default&&%20%20picture=http://fbrell.com/f8.jpg&%20%20name=bbb&%20%20description=bbb
4

1 に答える 1

1

Facebookのドキュメントを見た後、本当の魔法はコールバック関数にあるようです

function callback(response) {
          document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
        }

?post_id=12345これは、追加のパラメーターを url に追加するものhttps://mighty-lowlands-6381.herokuapp.com/です。したがって、facebook が提供する以下の例に従って、コールバック関数のパラメーターを URL に必要なものに確実にします。subaction=showfull&id=1368007502&start_from=3&template=Default&#disqus_thread

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:fb="https://www.facebook.com/2008/fbml">
  <head>
    <title>My Feed Dialog Page</title>
  </head>
  <body>
    <div id='fb-root'></div>
    <script src='http://connect.facebook.net/en_US/all.js'></script>
    <p><a onclick='postToFeed(); return false;'>Post to Feed</a></p>
    <p id='msg'></p>

    <script> 
      FB.init({appId: "YOUR_APP_ID", status: true, cookie: true});

      function postToFeed() {

        // calling the API ...
        var obj = {
          method: 'feed',
          redirect_uri: 'YOUR URL HERE',
          link: 'https://developers.facebook.com/docs/reference/dialogs/',
          picture: 'http://fbrell.com/f8.jpg',
          name: 'Facebook Dialogs',
          caption: 'Reference Documentation',
          description: 'Using Dialogs to interact with users.'
        };

        function callback(response) {
          document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
        }

        FB.ui(obj, callback);
      }

    </script>
  </body>
</html>
于 2013-05-13T20:35:18.933 に答える