2011-09-09 110 views
4

我有下面的代码将使用图形API发送Facebook应用请求/邀请使用图形API

function getFriendsList(){ 

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

    } 

这将返回朋友id和name得到乌尔好友列表。使用图形API

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

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

//If FB User 
if($fbUserId){ 

$f_list = $fbClient->getFriendsList(); 

后,我得到的阵列I显示firends图片

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

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

} 

这将创造我的朋友的个人资料照片。

我的问题是如何创建一个点击数即使如此,当我点击照片我可以给个人的Facebook应用程序的请求。 ???

回答

6

发送的Facebook应用程序请求不是通过图形API可用。您可以使用app requests javascript dialog来,虽然发送请求,你只需要在“到”属性来指定用户的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**');"

+0

c为null [打破该误差] FB.provide( '的Dom',{containsCss:功能...(oldonload);}否则oldonload();};})(); – ivias

+0

我不是在Facebook上的专家,但读通文章http://developers.facebook.com/blog/post/464/它说,你可以发送邮件使用PHP API的应用程序的请求。这篇文章比这篇文章早,所以可能已经过时了。你知道它可能吗?由于 –

+9

你不能从一个用户邀请通过图形API另一个用户发送应用程序的请求。一旦用户批准该应用程序,开发人员就会发送垃圾邮件并邀请其列表中的每个朋友。您指的是应用生成的请求,这些请求可以按照您提及的方式提供。 – bkaid

5

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

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

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