0

招待ダイアログが正常にポップアップし、招待状も送信されます。しかし、Requests DialogのFacebookのドキュメント(https://developers.facebook.com/docs/reference/dialogs/requests/)に記載されているように、redirect_uriを使用して招待状を送信した後、ユーザーを目的のページにリダイレクトできません。招待状を送った後はリダイレクトや何もありません。facebook request_uriが動作しない

<div id="fb-root"></div> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script> 
     FB.init({ 
     appId : 'app_id', 
     }); 
     function sendRequestViaMultiFriendSelector() { 
     FB.ui({method: 'apprequests', 
      message: 'Invite friends!', 
      request_uri: 'https://apps.facebook.com/myappname/invitesent.php', data: '<?php echo $user_id; ?>', exclude_ids: [<?php echo $friends; ?>] 
     }, requestCallback); 
     } 
     function requestCallback(response) { 
     // Handle callback here 
     } 
    </script> 
+0

request_uriとはあなたはredirect_uriを意味しますか? (ダイアログの全画面を開いていない限り、その必要はありません) – Igy

答えて

1

JS-SDKを使用している場合は、redirect_uriは必要ありません。

function requestCallback(response) { 
    // Handle callback here 
    ... 


    // once done, redirect (outside of Facebook page!) 
    top.location.href = 'http://mydomain.com/nextpage/'; 
} 

または私はFacebookアプリの枠にとどまることlocation.href = '';をするとします。これには、あなたのrequestCallback()で、コールバック関数の仕事です。

0

facebookアプリケーションの作成時にコールバックキャンバスのURLを指定しましたか?

+0

私は、アプリケーションがホストされている場所へのリンクであるCanvas Urlを定義しました。ユーザーが自分のアプリケーションを削除したときの認証解除コールバックURLを定義していません。私はあなたがFacebookのアプリケーションを作成するときに、アプリケーション設定でコールバックのカンバスのURLを定義することになっていた場所を見つけることができません –

+0

そこにあなたは "キャンバスのURL"を見つけることができます "Facebook上のアプリケーション"アプリケーションを使用してFacebookにログインすると、FacebookのアプリケーションをリダイレクトするURL。 – SAR

+0

はい「Canvas URL」は私が前に述べたように定義されています。それはアプリケーションがうまく動作している理由です。 –

1

あなたのApp でのFacebookのJavaScript SDKをすでに含まれているとします。これは、FacebookのキャンバスのURLにリダイレクトすることなく、アプリのURLにリダイレクトするスクリプトでアプリの友人を招待するために

FB.ui({ method: 'apprequests', 
     redirect_uri: 'APP URL', 
     message: 'My Message' 
    }); 

をこのコードを書かれているとおり.soはこれを使用すると、

FB.ui({ method: 'apprequests', 
    data: 'APP URL', 
    message: 'My Message' 
}); 

としてデータパラメータを使用している場合でも、コードの先頭にあるindex.phpでアプリのランディングページのつまりで、このコードを書く動作しません。

$requestid=$_GET[request_ids];  
if(!empty($requestid)) 
    {  
     echo "<script> window.top.location.href='APP URL'; </script>";     
    } 
関連する問題