페이스북 애플리케이션에서 FBML을 사용하는 방법

최근에 첫 번째 페이스북 애플리케이션인‘안녕하세요 [이름]’을 만드는 방법을 배웠습니다. 아주 기초적인 내용이었지만 차근차근 배워나가면서 조금씩 만들어 나갈 예정입니다.

오늘은 FBML을 사용하는 방법을 보여드리고자 합니다. FBML은 HTML과 매우 유사한 태그 언어입니다. FBML을 통해 사용자 프로필과 작업의 다양한 요소에 액세스할 수 있습니다. 어떻게 작동하나요? 페이스북은 개인정보 보호를 위해 사용자 데이터에 대한 접근을 허용하지 않으며, 사용자 ID에만 접근할 수 있습니다. 그리고 해당 ID와 FBML을 통해 다른 프로필 데이터 (이름, 사진, 친구 등) 에 액세스할 수 있으며, 이는 페이스북 자체에서 실행되는 애플리케이션을 통해서만 가능합니다. 이는 모두 보안의 문제이며 제가 보기에는 매우 좋은 기능입니다.

애플리케이션은 자체 서버에서 호스팅되며 Facebook은 호스팅 등을 제공하지 않으므로 데이터베이스도 우리가 호스팅한다는 점을 기억해야 합니다. 따라서 무언가를 저장할 때는 사용자의 이름, 사진 등에 액세스할 수 없으므로 사용자의 ID를 저장해야 합니다.

예: 사용자 X의 아이디가 111222777 인 경우 애플리케이션에서 해당 사용자의 이름을 표시하려면 다음과 같이 하면 됩니다:

1
<fb:name uid="111222777" />

또는 예를 들어 해당 사용자의 프로필 사진을 보고 싶다면 이렇게 하면 됩니다:

1
<fb:profile-pic uid='111222777' />

보시다시피 어렵지 않습니다. 레이블이 많지 않습니다. 그리고 우리가 더 잘 활용할 수 있는 매개변수를 받습니다.

ikhuerta의 게시물에서 영감을 얻은 보다 완전한 예시를 살펴보겠습니다.

이전 튜토리얼에서와 동일한 단계를 사용하겠습니다. 9단계만 변경하면 index.php 파일에 다음 내용이 포함됩니다:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// Llamar el archivo que contiene los parametros de configuración y obtine el id del usuario
require_once 'includes/facebook_config.php';
// Extraemos a un array los id's de todos sus amigos
$friends_ids = $facebook->api_client->friends_get();
?>
<!-- Mostrando foto del usuario logueado -->
<p>Hola! esta es tu foto: <fb:profile-pic uid="<?php echo $id_usuario; ?>" linked="true" /></p>
<!-- Mostramos las fotos de los amigos y nombres en una tabla-->
<table border=1>
<tr>
<td>Foto</td>
<td>Nombre</td>
</tr>
<?php foreach ( $friends_ids as $friend_id ) {?>
<tr>
<td><fb:profile-pic uid='<?php echo $friend_id; ?>' linked='true' /></td>
<td><fb:name uid='<?php echo $friend_id; ?>' /></td>
</tr>
<?}?>
</table>

그러면 먼저 내 사진이 표시되고 친구의 사진과 이름이 포함된 표가 표시됩니다. 이런 식으로요:

페이스북 애플리케이션에서 FBML을 사용하는 방법

아주 간단합니다. 여러분의 의견과 질문을 기다리겠습니다.

답글 남기기