Інформація в цій статті застаріла і є неактуальною.
Крок перший: установка
Створюємо Базу даних.
Давайте почнемо з створення таблиці в БД:
Створюємо додаток в Facebook.
Отримуємо API ключ нової програми Вказуємо Canvas URL і Post-Authorize Redirect URLУ полях розділу «З'єднання», заповніть поле Connect URL - його значення повинно бути таким же, як в уже заповнених полях, а в поле Base Domain потрібно вказати localhost.com.
Вказуємо Connect URLПісля збереження налаштувань програми, потрібно завантажити бібліотеку PHP SDK і розпакувати файл facebook.php з архіву в нову директорію в кореневій папці сайту.
Збережемо цей код у файлі з ім'ям login_facebook.php в кореневій папці сайту і відкриємо його в браузері. Якщо все зроблено правильно, то ви будете перенаправлені на facebook.com і побачите форму для запиту прав доступу додатки до вашого профілю.
Запит прав доступу додатки до вашого профілюЦього могло не статися по ряду причин: перший варіант розвитку подій - ви були перенаправлені на facebook.com. але побачили сторінку з помилкою. Рішення може бути наступне: спробуйте перевірити дані в налаштуваннях програми - чи всі поля заповнені. Другий варіант розвитку подій: ви помітили помилку приблизно такого змісту: «Uncaught CurlException: 60: SSL certificate problem, verify that the CA cert is OK. ». Ймовірно, це сталося через невірні налаштувань CURL. Щоб виправити цю проблему відкрийте файл base_facebook.php з бібліотеки PHP SDK і знайдіть в ньому метод makeRequest ().
У ньому, відразу після рядка:
Додайте наступний рядок:
Це, звичайно, невірний підхід: додавати свій код у файли бібліотеки, але іншого способу розв'язання цієї проблеми немає.
Давайте продовжимо з реєстрацією користувача: я розмістив код прикладу всередині блоку try / catch - зроблено це для запобігання виникнення помилки, в разі застарілих значень ключів в поточному URL.
Зараз будемо проводити операції з базою даних. Зверніть увагу, що я не буду здійснювати обробку даних перед збереженням в БД, для того, щоб скоротити обсяг коду в прикладах. Будь ласка, майте це на увазі і обов'язково проводите обробку даних, що надійшли від користувача, перед збереженням в БД.
Створюємо підключення до бази даних:
Вважаємо, що в нашому прикладі сесія активна.
Хорошим рішенням при створенні таблиці в БД буде привласнити полю oauth_provider тип ENUM.
Зараз в змінній $ result - знаходиться масив з даними, отриманими з БД. Давайте збережемо деякі з них в сесії. Додайте наступний код першим рядком вашого скрипта:
Після умовного блоку з перевіркою if (empty ($ result)) додайте наступний код:
Для відображення імені користувача додаємо в скрипт наступні рядки:
Крок четвертий: використовуємо додаткові можливості
Після отримання прав доступу до профілю, програма має масу можливостей для взаємодії з профілем, я ж зверну вашу увагу на 4 найкорисніших:
FQL або Graph API
На мою думку, FQL - більш гнучкий, ніж Graph API і з ним простіше працювати. На щастя, Facebook все ще дозволяє розробникам використовувати його, не дивлячись на те, що в новій бібліотеці є невеликі зміни.
Дізнатися про всі полях, підтримуваних методом users.getInfo ()
Той же самий результат можна отримати використовуючи FQL:
На цій сторінці представлений повний список таблиць, доступ до яких можливий за допомогою FQL. а також доступні поля з даними про користувача.
розширені права
Ви можете ознайомитися з повним списком прав. Зверніть увагу, що можливо вказати 2 url для повернення назад на ваш сайт: один - в разі якщо користувач надасть додатком необхідні права, а інший - в зворотному випадку. Для цього використовуйте ключі масиву next і cansel_url відповідно.
Запит додатком розширених правПеревірка наявності у додатки розширених прав.
У будь-який момент користувач може відключити розширені права у додатки. Тому програма має перевірять наявність необхідних прав перед тим як проводити будь-які дії, особливо якщо дії пов'язані з публікацією чого-небудь. Для перевірки будемо використовувати REST API.
На даний момент REST API вважається застарілим, тому метод users.hasAppPermission підтримує перевірку неповного списку прав.
Публікуємо повідомлення на «стіні» користувача.
По суті, ми зробили виклик API /
Публікуємо повідомлення на стіні користувача
Додаткова інформація, яка може стати в нагоді:
- Користувач зможе видалити додаток на сторінці налаштувань додатків. натиснувши на [×] праворуч від назви програми.
- На сторінці з параметрами додатків користувач може видаляти надані з додатком права окремо
висновок
Переклад - Земсков Матвій
Інформація в цій статті застаріла і є неактуальною.
Пропоную наступні послуги:
- Верстка шаблону сайту з дизайн-макету для CMS «1С-Бітрікс Управління сайтом» і CMS "Joomla"
- Створення форм різної складності (зворотний зв'язок, анкети і тп) для зазначених CMS
- Налагодження та кастомизация компонентів і модулів для зазначених CMS
- Доопрацювання модулів і компонентів для зазначених CMS, додавання нестандартного функціонала
- Розробка Лендінзі (landing-pages)
За все про надання через форму зворотного зв'язку
Пропоную Вашій увазі: