Facebook应用程序邀请自动

时间:2011-08-30 13:31:03

标签: php facebook

我正在开发一个新的Facebook应用程序,需要发送Appusers frind list应用程序邀请。

实施例, 我的朋友X登录了CityVille App, 我的朋友离线,但他发送了CityVille Invite。 我问X你发这个邀请?他说没有:)邀请从城市自动获取。 (没有fb对话框)

我该怎么做。

P.S: 我的应用程序所需权限是: 电子邮件,offline_access,publish_stream,user_photos,read_friendlists

我尝试在我的朋友列表上关注代码,但我没有发送邀请撤消错误

$app_id = $this->facebook_config['appId'];
$app_secret = $this->facebook_config['secret'];

$token_url = "https://graph.facebook.com/oauth/access_token?" .
            "client_id=" . $app_id .
            "&client_secret=" . $app_secret .
            "&grant_type=client_credentials";

$app_access_token = file_get_contents($token_url);

$user_id = 'USERID';

$apprequest_url ="https://graph.facebook.com/" .
                $user_id .
                "/apprequests?message='Mesaj'" . 
                "&data='bisi'&"  .   
                $app_access_token . "&method=post";

$r = file_get_contents($apprequest_url);



echo $r;

error { "error": { "type": "OAuthException", "message": "(#200) All users in param ids must have accepted TOS" } }

2 个答案:

答案 0 :(得分:2)

据我了解,您要求使用邀请用户访问应用程序,而不是在应用程序中执行某些操作。 AFAIK是唯一可以通过电子邮件发送的方法。 Facebook只是不允许这样,除了默认的Facebook邀请对话框。

Facebook的API apprequests仅在连接的用户之间发送请求,例如得到这头迷失的牛,或帮助我赢得这场战斗......等等。


更新:邀请好友加入的正确方法是使用Facebook JavaScript SDK。

FB.ui({method: 'apprequests',
    message: 'Plz add this, I need you to use this app desperately!',
    to: 'any-friend-id'
});

我刚测试了它,它允许我的兄弟use it

答案 1 :(得分:0)

您获得的错误很可能是由于您使用file_get_contents

造成的

我建议使用curl: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $apprequest_url); $result = curl_exec($ch); curl_close($ch);

请注意(上次我检查过)您仍然必须在发送任何应用请求/邀请之前通过某种形式的对话提示用户。在未经用户明确许可的情况下进行此操作违反了FB的指导原则。

您可以使用API​​资源管理器测试请求的功能:http://developers.facebook.com/tools/explorer/?method=POST&path=me%2Fapprequests