PHP와 Facebook API를 사용한 헬로 월드

요즘 저는 페이스북과 트위터 API에 관심이 많습니다. 그래서 정보를 찾아보기로 결심했고 항상 그렇듯이 여러분과 정보를 공유합니다.

오늘은 PHP를 사용하여 첫 번째 페이스북 애플리케이션을 만드는 방법을 보여드리고자 합니다. ‘Hello world’와 이름만 표시되기 때문에 전혀 유용한 애플리케이션은 아닙니다. 하지만 먼저 몇 가지를 이해해야 합니다.

Facebook은 타사가 만든 애플리케이션을 호스팅하고 이들과 비즈니스를 할 수 있도록 함으로써 인기를 얻었습니다. 그렇다고 해서 Facebook이 애플리케이션을 만들 수 있는 디스크 공간이나 데이터베이스를 제공한다는 의미는 아닙니다. 모든 작업은 회원님의 서버 또는 호스팅에서 수행해야 합니다. Facebook은 회원님의 애플리케이션과 수백만 명의 네트워크 사용자 프로필 데이터 간의 연결만 제공할 뿐입니다.

PHP와 Facebook API를 사용한 헬로 월드

개발자가 사용할 수 있는 리소스는 3가지 카테고리로 분류됩니다:

  • API: GET 또는 POST 메시지를 사용하여 사용자의 프로필 데이터, 친구, 사진 및 이벤트에 액세스할 수 있는 REST 기반 인터페이스입니다.
  • 쿼리(FQL, “Facebook 쿼리 언어”): API와 동일한 데이터에 액세스하는 데 사용되는 SQL과 유사한 쿼리 언어이지만 더 복잡한 쿼리를 수행할 수 있습니다.
  • 레이아웃(FBML, “Facebook 마크업 언어”): HTML과 유사한 마크업 언어로, 애플리케이션을 Facebook 사용자 경험에 통합하는 데 사용할 수 있는 HTML과 인터리빙할 수 있습니다. FBML을 사용하면 프로필, 프로필 액션, 캔버스 및 피드와 같은 네트워크의 다양한 부분에 액세스할 수 있습니다. 이 언어에는 AJAX 및 자바스크립트 지원도 포함되어 있습니다.

 

Facebook 애플리케이션은 완벽한 사용자 경험을 제공하기 위해 복잡한 구조를 가지고 있습니다:

  • 제품 디렉토리: 사용자가 Facebook 애플리케이션 디렉토리를 탐색할 때 각 애플리케이션에 대해 이름, 이미지, 간단한 설명이 포함된 작은 섹션이 표시됩니다.
  • 정보: 이 페이지에는 애플리케이션에 대한 일반적인 정보가 표시됩니다. 사용자가 애플리케이션을 설치하도록 유도해야 합니다.
  • 왼쪽 탐색: 왼쪽 탐색 창입니다. 애플리케이션은 이 패널에 아이콘과 이름을 지정할 수 있습니다.
  • 캔버스 페이지: 애플리케이션의 메인 페이지입니다. 홈: 이 페이지는 왼쪽의 탐색 패널을 사용하여 액세스할 수 있으며 일반적으로 사용자의 친구에 대한 정보를 표시합니다. 사용자 대시보드: 사용자가 애플리케이션에서 자신의 데이터를 관리하고 애플리케이션이 자신의 개인 데이터에 액세스하는 방법을 결정하는 페이지입니다.
  • 프로필: 사용자 신원의 온라인 표현입니다.프로필 상자: 사용자의 최근 작업에 대한 업데이트된 정보를 표시합니다.프로필 작업 링크: 프로필의 사용자 사진 아래에 링크를 추가하여 애플리케이션에서 작업을 호출할 수 있습니다.
  • 개인정보 설정: 애플리케이션별 프로필 데이터의 개인정보 보호 수준을 정의하는 데 사용됩니다.
  • 뉴스 피드: 이름에서 알 수 있듯이 애플리케이션이 애플리케이션 사용자에 대한 정보를 ‘게시’할 수 있는 뉴스 피드입니다.
  • 알림: 애플리케이션은 이메일을 통해 사용자에게 알림을 보낼 수 있습니다.
  • 메시지 첨부파일: 애플리케이션에서 메시지 작성 창에 나타나는 첨부파일을 포함할 수 있습니다.
  • 요청: 애플리케이션은 홈 페이지 왼쪽 상단에 표시되는 요청을 만들 수 있습니다. 요청은 일반적으로 친구가 특정 작업을 수행하도록 요청하여 시작됩니다.

위의 모든 내용을 마에스트로델웹에서 복사했습니다. 사실 첫 번째 응용 프로그램을 만들기 위해 우리는 그 모든 것에 그다지 관심이 없습니다.

시작하기

이 10단계는 더 이상 존재하지 않는 다른 블로그를 기반으로 했다는 점을 분명히 밝혀둡니다.

1단계: 애플리케이션을 만들려면 Facebook 사용자이어야 합니다.

2단계: 개발자 페이지로 이동하면 오른쪽에 ‘새 애플리케이션 구성하기’라는 버튼 또는 링크가 표시됩니다.

3단계: 표시되는 페이지에서 애플리케이션의 이름(예: ‘Greeter’)을 입력하고 이용약관에 동의합니다.

4단계: 다음 창에서 왼쪽에 사이드 탭이 표시됩니다.

‘기본‘이라고 표시된 항목에는 애플리케이션 이름, 아이콘, 로고, 설명, 언어 등 가장 분명한 필드를 입력합니다. 첫 번째 작은 애플리케이션의 경우 이름만 입력하는 것으로 충분합니다. 같은 탭에는 애플리케이션 ID, API 키 및 비밀 키도 있으므로 나중에 사용할 것이므로 어딘가에 복사해 두세요.

인증 탭에서 사용자에 대한 설치 가능 옵션을 선택합니다.

그리고 캔버스 탭의 ‘캔버스 페이지의 웹 주소(URL)’에 ‘페이스북 주소'(예: http://apps.facebook.com/saludador)를 입력하고 ‘캔버스 콜백 URL’에 애플리케이션이 저장된 주소(이 경우 http://tudominio.com/saludador)를 입력합니다.

모든 변경 사항을 저장합니다.

5단계: 이제 필요한 파일과 애플리케이션을 서버에 업로드해야 합니다. 먼저 페이스북 API와 상호 작용할 수 있는 라이브러리를 다운로드해야 합니다.

6단계: 압축 파일 안에는 호스팅에 업로드해야 하는 2개의 폴더(php 및 풋프린트)가 있습니다.

7단계: 일부 데이터가 포함된 facebook_config.php라는 파일을 만듭니다:

1
2
3
4
5
6
7
8
9
<!--?php require_once 'php/facebook.php'; // codigo(KEY) que identifica a nuestra aplicación y es utilizadas en cada llamada a Facebook $appapikey = 'colocar aqui su API KEY'; // llave privada para autenticar la aplicación en el servidor de Facebook $appsecret = 'colocar aqui su SECRET'; // Crear una instancia del objeto Facebook $facebook = new Facebook($appapikey, $appsecret); // Obtener el id del usuario que este utilizando la aplicación $id_usuario = $facebook--->require_login();
$appcallbackurl = 'http://tudominio.com/saludador';
//catch the exception that gets thrown if the cookie has an invalid session_key in it
if (!$facebook->api_client->users_isAppUser()) {
$facebook->redirect($facebook->get_add_url());
}
?>

자신의 애플리케이션 데이터로 파일을 작성해야 합니다.

8단계: facebook_config.php를 이전 폴더와 같은 위치에 업로드합니다.

9단계: 인사말 메시지를 표시하고 상대방의 이름을 표시하는 애플리케이션 자체를 포함하는 index.php 파일을 만듭니다:

1
2
3
<!--?php // Llamar el archivo que contiene los parametros de configuración y obtine el id del usuario require_once 'facebook_config.php'; ?-->
Hola, Buen dia

여기에서 볼 수 있듯이 FMBL을 사용하여 애플리케이션을 보는 사람의 이름을 가져오고 있습니다. 그리고 useyou=”false” 매개 변수를 사용하여 애플리케이션을 직접 열어도 ‘귀하’라고 표시되지 않고 사용자의 이름이 표시되도록 합니다.

10단계: 다른 파일과 동일한 수준으로 파일을 업로드합니다.

이제 4단계에서 선택한 주소를 입력하면 끝입니다. 예: http://apps.facebook.com/saludador 짧은 메시지와 함께 애플리케이션이 사용자를 맞이하는 방식을 확인할 수 있습니다.

매우 간단했고 여기까지 읽으셨다면 이미 애플리케이션 제작에 대해 생각해 보셨을 것입니다. 개인적으로도 쉬웠고, 제가 좋아하는 KumbiaPHP 프레임워크를 사용하여 애플리케이션을 만들 수 있다는 점에서 나만의 애플리케이션을 저장할 수 있다는 점도 좋다고 생각합니다.

발생할 수 있는 오류

  • 인사말 메시지만 표시되고 이름이 표시되지 않는다면 캔버스 탭에서 애플리케이션을 구성할 때 렌더링 방법에서 FBML을 선택해야 하기 때문입니다.
  • ‘열 수 없음’ 또는 이와 유사한 PHP 오류가 발생하면 파일 또는 폴더의 권한 때문일 수 있습니다. 관련 파일 및 폴더에 대한 권한을 755로 설정하세요.
  • 그리고 다음과 같은 메시지가 표시되는 경우: FBML 오류(7줄): “fb:canvas” 아래에 잘못된 태그 “noscript” 가 있음 무료 호스팅에 애플리케이션을 설치하여 코드에 원치 않는 내용을 넣었기 때문일 수 있습니다.

답글 남기기