邀请参加活动时出现错误OAuthException:(#200)

时间:2013-04-20 17:24:54

标签: facebook-graph-api oauth-2.0 facebook-fql facebook-php-sdk

我收到错误: 致命错误:未捕获OAuthException:(#200)

当我尝试通过应用程序邀请人们参加活动时。

我的步骤: 1.获取带有权限的长期令牌:create_event create_note publish_actions publish_stream rsvp_event user_events 2.获取作为朋友但尚未被邀请参加活动的用户。 3.每个邀请分成50个人并发送。

邀请代码:

$friends = $facebook->api(array(
     'method' => 'fql.query',
     'query' => "SELECT uid,name FROM user WHERE uid IN 
(SELECT uid1 FROM friend WHERE uid2=me()) AND NOT 
(uid IN (SELECT uid FROM event_member where eid = '$eventid'))"));

foreach ($friends as $value) 
{
    if (!isset($allids))
    {
        $allids = $value['uid'];
    }
    else
    {
        $allids .= ',' . $value['uid'];
    }
    $count++;
    $invitedusers++;
    if ($count > 49) 
    {
    //$splitinvite = $facebook->api($eventid . '/invited?users=' . $allids, 'POST');
    unset($allids);
    $count = 0;
    }
}

$facebook->api($eventid . '/invited?users=' . $allids, 'POST');

我已经将Userids分开,以确保以Userid_1,Userid_2,Userid_3格式正确设置它们 我使用图形令牌调试器检查了令牌,并正确设置了所有权限。 有人有想法吗?

1 个答案:

答案 0 :(得分:0)

一个可能性是以下代码。但这很有效,因为它会为每个人发送一个查询。 检查37人需要30秒。如上所示,一次查询50个人,可在30秒内邀请超过1000人。

如果有人可以尝试找到更好的方法,我会推荐它!
最好的方法是过滤FQL查询(如果是可行的)。

工作缓慢代码:

    foreach ($friends as $value) 
    {       
        try
        {
        $splitinvite = $facebook->api($eventid . '/invited?user=' . $value['uid'],'POST'); 
        $count++;
        }
        catch (Exception $e) 
        {
// Users privacy setting blocked inviting him, has blocked you or has blocked you from inviting 
        }
}