0

私はFacebookアプリケーションを作成しています、すべてが完了したようです。サンプルフロー(index.php)は次のとおりです。

  1. seekpermission.php

  2. processinfo.php

  3. generateresult.php

  4. poststatus.php(ドキュメントに記載されているjavascriptの方法)

  5. invokefriends.php(ドキュメントに記載されているJavaScriptの方法)

名前が自明であることを願っています。問題は、ステータスを更新して友達を招待するためのダイアログがほぼ並行して行われることですが、ユーザーがステータスメッセージを公開/スキップした後、友達を招待するためのダイアログが表示されるようにする必要があります。これが私が試したものですが、機能していません。ありがとうございます。

 FB.ui(
    {
        method: 'feed',
        name: 'name goes here',
        link: 'http://apps.facebook.com/****/',
        picture: '<?php echo $imageurl; ?>',
        caption: 'here is caption',
        description: 'the description',
        message: '<?php echo $charecter; ?>'
    },
    function(response) {
    if (response && response.post_id) {
    alert('<?php include "invitefriends.php"; ?>');

    } else {

    alert('<?php include "invitefriends.php"; ?>');

 }

これがinvitefriends.phpです

<body>
   <div id="fb-root"></div>
   <script src="http://connect.facebook.net/en_US/all.js">
   </script>
   <script>
     FB.init({ 
       appId:'2****', cookie:true, 
       status:true, xfbml:true 
     });

     FB.ui({ method: 'apprequests', 
       message: 'Folks check out my new facebook app!! visit http://apps.facebook.com/**** '});
   </script>
   </body>
4

1 に答える 1

0

簡単なタスクを達成するには、これは奇妙な方法です。
ステップ 4 と 5 を 1 つのステップに組み合わせることができます。

FB.ui(
    {
        method: 'feed',
        name: 'name goes here',
        link: 'http://apps.facebook.com/****/',
        picture: '<?php echo $imageurl; ?>',
        caption: 'here is caption',
        description: 'the description',
        message: '<?php echo $charecter; ?>'
    },
    function(response) {
        FB.ui({ method: 'apprequests', 
        message: 'Folks check out my new facebook app!! visit http://apps.facebook.com/**** '});
        /* if (response && response.post_id) {
            alert('<?php include "invitefriends.php"; ?>');

        } else {

            alert('<?php include "invitefriends.php"; ?>');

        } */
    }
)

if elseとにかく招待を強制するので、 必要はありません。

あなたのアプローチを本当に使用する必要がある場合は、次のようなものを使用できますresponse(

location.href='<?php echo 'path/to/invitefriends.php';

重要な注意:
ほとんどの場合、5 つの手順すべてを 1 つのファイルに まとめることができます。

  1. JS ライブラリを5回ロードして初期化する必要はありません。
  2. 毎回ロードするのではなく、より良いユーザーエクスペリエンスになります
  3. すべての Facebook 呼び出しを JS 関数でラップし、前の関数の応答でそれぞれを呼び出すだけです!
于 2011-03-20T12:33:13.393 に答える