使用Graph Api发送Facebook App请求/邀请

时间:2011-09-09 22:13:48

标签: php facebook sdk facebook-app-requests facebook-friends

我有以下代码可以使用图形api

获取你的朋友列表
function getFriendsList(){

    $response = $this->api('/me/friends'); 
     return $response;

    }

这将返回朋友ID和姓名。使用图形api

然后我在我的joomla模块中执行此代码:

$fbClient = JFBConnectFacebookLibrary::getInstance();
$fbUserId = $fbClient->getUserId(TRUE);   

//If FB User
if($fbUserId){

$f_list = $fbClient->getFriendsList();

我得到数组后,我显示了火元图片

foreach ($f_list as $friend) {
    for($i = 0; $i < count($friend); $i++)
        { 

        echo '<img src="http://graph.facebook.com/'.$friend[$i]['id'].'/picture"><br/>';
        }
   }

}

这会创建我朋友的个人资料照片。

我的问题是我如何创建一个onlick,以便当我点击照片时,我可以发送个人的Facebook应用程序请求。 ???

2 个答案:

答案 0 :(得分:6)

通过图表api无法发送Facebook应用请求。您可以使用app requests javascript dialog发送请求,您只需在“to”属性中指定用户的ID,如文档中所述。

示例功能:

<script>
  FB.init({ appId: '**appId**', status: true, cookie: true, xfbml : true });

  function sendRequest(to) {
    FB.ui({method: 'apprequests', to: to, message: 'You should learn more about this awesome site.', data: 'tracking information for the user'});
    return false;
  }
</script>

然后只需将每个图像的onclick连接到类似onclick="return sendRequest('**friendId**');"

的内容

答案 1 :(得分:5)

我有同样的问题。虽然回答问题已经很晚了,但它会对某些人有所帮助。这就是回答这个问题的原因。

相反,您可以在javascript中调用此函数: 它会给你所有朋友的照片。也是当前正在使用相同应用的一群朋友。您可以向其中任何人发送请求。

function sendRequestViaMultiFriendSelector() {
    FB.ui({
        method: 'apprequests',
        message: "You should learn more about this awesome site."
    });     
}