2011-08-03 3 views
0

docs、チュートリアル、およびこのフォーラムの助けを借りて、私は自分のプロフィールやページにログインしたユーザーのイベントを作成しました。 友人を招待するためにevents.inviteを使用する必要があると私は考えました。選択したユーザーをFacebook-Event(Graph API経由)に招待する

私はすべてのユーザーの友だちを招待したくないので、いくつかの要求を実装しました。その結果、選択した友人のIDが返されます。

events.inviteの呼び出しで使用しているもの。私は結果としてbool 1を取得します(つまり、招待状が正常に送信されたことを意味します)が、友だちのブックマークやイベントページに招待状は表示されません。

招待状以外はすべて動作しています。

3つの質問が出てくる:

1)events.invite 'CREATE_EVENT' 以外に追加の許可が必要ですか? 私はevents.inviteを独立して試しましたが、結果も得られませんでした...

2)招待状を送る前に友人を選択する良い方法はありますか?私は、イベントが作成されるたびにアプリリクエストが送信されることを望んでいません。

3)2が負の場合、アプリがリクエスト(およびブックマーク)を友人のプロフィールからどのように抑圧または削除できますか? APIを介してリクエストを削除しても、アプリケーションリクエスト内のメッセージは削除されません。メインスクリプトで

*:(要求応答から呼び出さ)[ジャバスクリプト]

function sendRequest() { 
FB.ui({ 
     method: 'apprequests', 
     message: 'Test', 
     title: 'event invitation for up to 20 friends', 
     max_recipients: 20, 
     }, 
    function (response) { 
    if (response && response.request_ids) { 
     var requests = response.request_ids.join(','); 
     var invite_ids = new Ajax.Request('/facebook/handle_invitation.php', { 
      onSuccess: function(test) { alert('Done!'); }, 
      method: 'post', 
      parameters: {tid: '<?php echo $target_id; ?>', 
          request_ids: requests, 
          eid:'<?php echo $event_id; ?>', 
          token: '<?php echo $access_token; ?>'} 
      }); 
    } else { 
     alert('canceled'); 
    } 

    }); 
     return false; 
    } 

*と 'handle_invitation.php' 内:これはあまりにもなかった

if(isset($_POST['request_ids']) && isset($_POST['uid'])) { 
    $target_id = $_POST['tid']; 
    $event_id = $_POST['eid']; 
    $access_token = $_POST['token']; 
    $requests = explode(',',$_POST['request_ids']); 


foreach($requests as $request_id) { 
    $request_data = $fb->api("/$request_id?$access_token"); 
    $invite_id[] = $request_data['to']['id']; 

    $fb->api("/$request_id?$access_token", "DELETE"); 
    } 


//invite friends to my event 
$return = $fb->api(array(
    'method' => 'events.invite', 
    'eid' => $event_id, 
    'uids' => $invite_id, 
    'personal_message' =>"Einladung zu meinem Event" 
)); 
} 

・ホープ詳細。私は読書と実験の日後、私はついにこの時点で立ち往生しているので、何か助けていただければ幸いです。どうも!

答えて

0

"イベント招待状の送信"はGRAPH APIにまだありません。それはREST APIで利用可能ですが、期待通りに動作しません。 Facebookのイベントでいくつかの既知の問題と制限が見つかりました。 Facebookの公式ドキュメントの下のリンクを参照してください。

イベントに招待できる人数の制限。 http://www.facebook.com/help/?faq=12576#!/help/?faq=202545109787461

イベントメンバーは、私が送信したメッセージを受信して​​いません。 http://www.facebook.com/help/?page=786#!/help/?faq=188295427885002

+0

あなたは正しいです。グラフAPIイベントはまだ招待されていません。したがって、私は古いREST APIのevents.inviteに依存していました。私が以前に読んだ限り、50人の招待者に制限されています。私は最大20に設定しました。残念ながら私はリンクした第2のFAQを開くことも見つけられませんでした。 – multikulinaria

1

グラフapiでは、user_idでユーザーを招待できるようになりました。参照してくださいhttp://developers.facebook.com/docs/reference/api/event/

は、あなたが/ EVENT_ID /招待/ USER_IDにHTTPのPOSTを発行することにより、イベントにユーザーを招待することができ

を作成

を招待しました。/EVENT_ID/invited?users = USER_ID1、USER_ID2、USER_ID3にHTTP POSTを発行することにより、複数のユーザーを招待できます。どちらもcreate_eventパーミッションが必要で、招待が成功した場合はtrueを返します。

+0

グラフAPIを使用しているユーザーを招待できなくなりました。 '招待されました'は現在読まれるだけです。 https://developers.facebook.com/docs/graph-api/reference/v2.3/event/invited – kim3er

+0

バージョンのイベント管理APIは推奨されていません –

関連する問題