邀请所选用户加入Facebook-Event(通过Graph API)

时间:2011-08-03 18:08:51

标签: facebook events invite

在文档,教程和本论坛的帮助下,我设法为他登录的用户在他的个人资料或页面上创建一个事件,正如他所选择的那样。 我还想,为了邀请朋友,我必须使用events.invite。

由于我不想邀请所有用户的朋友而是几个,我实施了一个请求,结果返回了所选朋友的ID。

我正在使用的那些events.invite电话。我得到bool 1的结果(这意味着,邀请已成功发送),但没有邀请在朋友书签或活动页面中看到。

除邀请之外的所有内容都有效。

出现了3个问题:

1)除了'create_event'之外,events.invite还需要额外的权限吗? 我独立地尝试了events.invite并且无法获得结果......

2)在发送邀请之前有没有更好的方式来选择朋友?我不希望每次创建活动时都会发送应用请求。

3)如果2为负数,那么应用程序请求(和书签)如何从朋友的个人资料中被制服或删除?通过API删除请求显然不会删除应用程序请求中的消息。

主脚本中的

* :[javascript]

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"
)); 
}

希望这不是太详细。我很感激任何帮助,因为经过几天的阅读和实验,我终于陷入了困境。 THX!

2 个答案:

答案 0 :(得分:1)

图表api现在允许您通过user_id邀请用户。见http://developers.facebook.com/docs/reference/api/event/

<强>邀请

创建

您可以通过向/ EVENT_ID / invite / USER_ID发出HTTP POST来邀请用户参加活动。您可以通过向/ EVENT_ID / invite?users = USER_ID1,USER_ID2,USER_ID3发出HTTP POST来邀请多个用户。这两个都需要create_event权限,如果邀请成功,则返回true。

答案 1 :(得分: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