4

我有以下代码可以使用图形 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 应用程序请求。???

4

2 回答 2

6

无法通过图形 API 发送 Facebook 应用程序请求。您可以使用应用程序请求 javascript 对话框来发送请求,您只需要在“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**');"

于 2011-09-09T22:22:16.907 回答
5

我有同样的问题。虽然回答问题已经很晚了,但它会帮助别人。这就是为什么要回答这个问题。

相反,您可以在 javascript 中调用此函数:它将为您提供所有朋友的照片。还有一群目前正在使用同一应用程序的朋友。您可以向其中任何一个发送请求。

function sendRequestViaMultiFriendSelector() {
    FB.ui({
        method: 'apprequests',
        message: "You should learn more about this awesome site."
    });     
}
于 2012-02-22T11:33:32.163 回答