요즘 저는 페이스북과 트위터 API에 관심이 많습니다. 그래서 정보를 찾아보기로 결심했고 항상 그렇듯이 여러분과 정보를 공유합니다.
오늘은 PHP를 사용하여 첫 번째 페이스북 애플리케이션을 만드는 방법을 보여드리고자 합니다. ‘Hello world’와 이름만 표시되기 때문에 전혀 유용한 애플리케이션은 아닙니다. 하지만 먼저 몇 가지를 이해해야 합니다.
Facebook은 타사가 만든 애플리케이션을 호스팅하고 이들과 비즈니스를 할 수 있도록 함으로써 인기를 얻었습니다. 그렇다고 해서 Facebook이 애플리케이션을 만들 수 있는 디스크 공간이나 데이터베이스를 제공한다는 의미는 아닙니다. 모든 작업은 회원님의 서버 또는 호스팅에서 수행해야 합니다. Facebook은 회원님의 애플리케이션과 수백만 명의 네트워크 사용자 프로필 데이터 간의 연결만 제공할 뿐입니다.
개발자가 사용할 수 있는 리소스는 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” 가 있음 무료 호스팅에 애플리케이션을 설치하여 코드에 원치 않는 내용을 넣었기 때문일 수 있습니다.