Java-додатка для facebook на базі google app engine

Google App Engine (GAE) - це хмарна система типу "платформа як послуга" (PaaS), яка дозволяє зареєстрованим розробникам виконувати свої додатки, написані на Python, Java або в інфраструктурі Go on Google. У цій статті показано, як зареєструвати додаток для Facebook, розробити його на Java і безкоштовно встановити на платформі GAE на благо всіх користувачів, зареєстрованих в Facebook. (Відзначимо, що Google накладає обмеження на щоденне використання ресурсів, споживаних додатком, встановленим в GAE).

Просте додаток, яке ми створимо, становить список всіх друзів користувача з зазначенням їх ідентифікаторів і фотографіями з профілю - як на сторінці друзів профілю користувача Facebook старого зразка. Щоб розробити додаток, потрібні:

Вихідний код програми міститься в завантаженнях для цієї статті.

Реєстрація додатки

Перший крок полягає в тому, щоб зареєструвати свій додаток на Facebook і в GAE. Додаток краще створювати на обох платформах одночасно, щоб інформація, яку ви вводите, збігалася.

Реєстрація додатки на Facebook

Натисніть кнопку Create New App у верхньому правому кутку сторінки Apps, щоб відкрити діалогове вікно Create New App, показане на малюнку 1.

Малюнок 1. Діалогове вікно Create New App на Facebook

Java-додатка для facebook на базі google app engine

Java-додатка для facebook на базі google app engine

Малюнок 2. Діалогове вікно налаштування основних параметрів програми для Facebook

Java-додатка для facebook на базі google app engine

Java-додатка для facebook на базі google app engine

Зверніть увагу на ключі App ID і App Secret у верхній частині екрану (на малюнку 2 вони приховані). Facebook використовує ці ключі для ідентифікації додатка. Тримайте їх у секреті і не дозволяйте іншим розробникам використовувати їх, щоб ними не скористалися зловмисно без вашого відома.

Введіть в поле App Domains домен додатки. Це повинен бути домен GAE, в якому ви зареєструєте додаток на сайті для розробників GAE, так що він повинен закінчуватися на .appspot.com. Наприклад, на малюнку 2 я ввів значення myoldfacebookfriends.appspot.com. Цей домен уже недоступний, тому вам доведеться використовувати інший. Він повинен відповідати ідентифікатору програми, який ви використовуєте при реєстрації додатки в GAE.

Реєстрація додатки в GAE

Коли додаток зареєстровано в Facebook, його потрібно зареєструвати в GAE.

Малюнок 3. Діалогове вікно GAE Create an Application

Java-додатка для facebook на базі google app engine

Java-додатка для facebook на базі google app engine

Натисніть кнопку Create Application. щоб завершити процес реєстрації в GAE.

Розробка програми

В Eclipse створіть новий проект GAE, вибравши File> New> Web Application Project або натиснувши кнопку New Web Application Project в меню Google Services and Deployment Tools. Введіть ім'я проекту і ім'я пакета. Зніміть прапорець Use Google Web Toolkit. Завантажте JAR-файл RestFB (див. Розділ Ресурси) і додайте його в папку WEB-INF / lib проекту.

Додайте в файл проекту web.xml визначення сервлету для додатка. Моє визначення приведено в лістингу 1.

Лістинг 1. Визначення сервлету

Відмітимо, що той же, що і в URL фону у вікні настройки основних параметрів програми для Facebook, але без знаку питання.

Підписаний запит до Facebook

У лістингу 2 показаний вихідний код Java-об'єкта підписаного запиту. Для наочності я опустив все методи get і set; вони є в вихідному коді завантаження (див. розділ Завантаження).

Лістинг 2. Об'єкт підписаного запиту
Лістинг 3. Допоміжний метод для кодування і декодування інформаційного наповнення запиту

створення сервлету

Тепер можна приступати до написання коду програми, який буде запускатися в сервлет. Створіть новий клас з тієї ж підписом, що і у визначення в файлі web.xml. Спочатку потрібно витягти маркер OAuth з інформаційного наповнення запиту, використовуючи клас SignedRequest. як показано в лістингу 4.

Лістинг 4. Витяг маркера OAuth
API Graph Facebook

Щоб отримати список друзів користувача, натисніть на лінк friends. Зверніть увагу, що значення URL в браузері має вигляд: id користувача / friends. Параметр підключення при виконанні функції зазвичай має те ж значення, що і в Graph Explorer. Але оскільки додаток використовує дані користувача, який увійшов в систему, ID користувача можна замінити на me. що дає значення me / friends. Виклик повертає необроблений тип Connection. а так як це клас типу User. його необхідно додати в якості параметра. Остаточний виклик має вигляд:

Результат виклику методу fetchConnection () міститься в списку об'єктів List класу Connection. Клас Connection реалізує інтерфейс Iterable. так що кожен об'єкт List зі списку можна отримати в за допомогою розширеного циклу for:

Перебравши список об'єктів User. як описано вище, складемо новий рядок цієї таблиці з використанням змінних екземпляра кожного об'єкта User:

Нарешті, для завершення сервлету закриємо тег

і об'єкт PrintWriter:

Остаточний вигляд методу doPost () сервлету показаний в лістингу 7.

Лістинг 7. Метод DoPost ()

Щоб встановити програму

висновок

У цій статті показано, як зареєструвати, реалізувати і встановити додаток Facebook на мові Java, розміщене в системі Google App Engine. Тепер, коли ви знайомі з основами, я пропоную поекспериментувати з різними варіаціями.

Замість того щоб писати HTML-код безпосередньо на сторінці, можна вдатися до більш традиційного підходу "модель-уявлення-контролер" (MVC), використовуючи стандартний виклик RequestDispatcher.forward () для сторінки JavaServer Pages (JSP).

Нарешті, можна спробувати відтворити приклад програми, використовуючи замість RestFB проект Facebook-java-api Google Code - альтернативну реалізацію API Facebook (див. Розділ Ресурси).

Ресурси для скачування

Схожі теми

Схожі статті

Copyright © 2024