0

この問題を解決する比較的簡単な方法があると確信していますが、いくつかの助けを借りることができます。ユーザーの電子メール アドレスを受け入れ、友人を紹介するために使用できる一意の URL を生成するランディング ページがあります。AJAX を使用してフォームにバインドし、ユーザー固有の参照リンクといくつかのソーシャル共有メカニズムをレンダリングします。これらのソーシャル共有メカニズム (ツイート、共有など) では、ユーザーが動的に生成した一意の参照 URL を Facebook の postToFeed() スクリプトに渡す必要があります。

以前は fb:share-button を使用していましたが、現在は非推奨になっているようで、いいねとフィードへのアクションが推奨されています。過去のアプリケーションや Twitter などの他のソーシャル ネットワーク共有機能では、これらのボタンが href 属性を使用しているため、これは些細なことでした。

<a href="#" id="twitter">Tweet</a>

その後、JS または jQuery を使用して適切なトリガー イベントで更新できます。

$('#twitter').attr('href', data.link);

ただし、postToFeed() では、共有する情報をスクリプトで渡す必要があります (以下を参照)。

ユーザーがメールアドレスを送信したときに作成された後、適切なredirect_uriを以下に動的に追加する方法を誰かが理解するのを手伝ってくれますか?

本当にありがとう!

        FB.init({appId: "", status: true, cookie: true});
        function postToFeed() {
          var obj = {
            method: 'feed',
            redirect_uri: '',
            link: '',
            picture: '',
            name: '',
            caption: '',
            description: ''
          };

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

          FB.ui(obj, callback);
        }
4

2 に答える 2

2

postToFeed メソッドの外に obj 変数を配置できます。

var postToFeedObj = {
    method: 'feed',
    redirect_uri: '',
    link: '',
    picture: '',
    name: '',
    caption: '',
    description: ''
};

function postToFeed() {

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

    FB.ui(postToFeedObj, callback);
}

リンクのオブジェクト プロパティを必要に応じて変更します。直接リンクでそれを行う方法もありますが、この場合はコールバックがありません:

https://www.facebook.com/dialog/feed?
  app_id=YOURAPPID&
  link=YOURLINK&
  picture=YOURPICTURE&
  name=THE%20NAME&
  caption=THE%20CAPTION&
  description=THE%20DESCRIPTON&
  redirect_uri=THEREDIRECTLINK
于 2013-01-28T00:53:44.763 に答える
1

私がそれを行う方法は次のとおりです。

onclick メソッドを href に追加します。

<a href="#" onclick = 'postToFeed("<?= $uniqueURL;?>")' id="facebook">Share</a>

そして、javascript は次のようになります。

FB.init({appId: "125980477501398", status: true, cookie: true});
    function postToFeed(url) {
      /* You said you wanted it to be redirect_uri, so you put 
       * the url parameter there
       */
       var obj = {
        method: 'feed',
        redirect_uri: url,
        link: '', 
        picture: '',
        name: '',
        caption: '',
        description: ''
      };

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

      FB.ui(obj, callback);
    }

お役に立てれば!

于 2013-01-28T01:11:26.093 に答える