Oauthоризация и API социальных сетЕЙ презентация

Содержание

Пузомерки Facebook – 500 млн (апрель 2010) Twitter – 145 млн (апрель 2010) Вконтакте – 91 млн (октябрь 2010) Linkedin – 75 млн (ноябрь 2010) Одноклассники – 45 млн (февраль 2010)

Слайд 1OAUTHОРИЗАЦИЯ И API СОЦИАЛЬНЫХ СЕТЕЙ
Артём Курапов


Слайд 2Пузомерки
Facebook – 500 млн (апрель 2010)
Twitter – 145 млн (апрель 2010)
Вконтакте

– 91 млн (октябрь 2010)
Linkedin – 75 млн (ноябрь 2010)
Одноклассники – 45 млн (февраль 2010)

Слайд 3От перехвата паролей и .. RSS?


Слайд 4Решение – временные пароли
Свет мой, зеркальце! скажи
Ищем всех румяных, милых и

белых

Да, разрешаю


Слайд 5Introducing..
Их две версии и разными фичами
Oauth 1.0 reference (RFC5849) http://tools.ietf.org/html/rfc5849
Google, Yahoo, Яндекс

тоже в теме
Перед употреблением прочитать показания на упаковке или посоветоваться с аптекарем

Слайд 6Форма следует за содержанием
Абстрактная мысль №1 этого доклада


Слайд 7Twitter
OAuth 1.0 → https://github.com/abraham/twitteroauth → Redirect.php
Consumer key + secret
Access key +

secret
SHA1 + Base64


Слайд 8Twitter — API объекты
Statuses, Direct messages
Users, Friends, Followers
Lists, Subscribers
Friendships
Geo places
Trends


Слайд 9Twitter : новое приложение


Слайд 10Схема Oauth


Слайд 11Twitter - Псевдокод
require_once('twitteroauth/twitteroauth.php');
require_once('twitter_oauth/config.php');

$connection = new TwitterOAuth( $aSyncAccount[‘consumer_key'], $aSyncAccount[‘consumer_secret'], $aSyncAccount[‘access_key'], $aSyncAccount[‘access_secret']);
$user = $connection->get('account/verify_credentials');
$arrPosts

= $connection->get('statuses/user_timeline');

Слайд 12Twitter - впечатления
Баг длиной ID в php (E14)
Plaintext (в последний раз

как я заглядывал)

Слайд 13Вопросы?
(Про twitter)


Слайд 14Один из семи инструментов пропаганды
Абстрактная мысль №2 этого доклада


Слайд 15Facebook – объекты
User (*), Page (*)
Status
Post
Note
Photo
Video
Link
Album (Photos, Picture)
Event (Feed, Users,

Picture)
Group (Feed, Members, Picture)
Application
Subscription
Insights
Checkin


→ Comments


Likes ←

Friends


Слайд 16Facebook – новое приложение
Получаем Consumer key (App ID + secret) http://developers.facebook.com/setup/


Слайд 17Facebook + серверное приложение
Oauth 2.0 без подписей, но на SSL
Перенаправляем с

client_id, redirect_uri, scope = offline_access https://graph.facebook.com/oauth/authorize
Пользователь подтверждает привилегии
Возвращается с code параметром, обмениваем на access_key 134790075639751|ad22e11d67b06933774e26da-712393972|D8PoAPDdvv8onIAf_CasljjK7Pk


Слайд 18Привилегии


Слайд 19Facebook - Псевдокод
if(!$token){     if($_REQUEST['code']){         $token = file_get_contents( 'https://graph.facebook.com/oauth/access_token?client_id='.CONSUMER_KEY.'&client_secret='.CONSUMER_SECRET.'&code='.$_REQUEST['code'].'&redirect_uri='.CONSUMER_URL);     }     else

header('Location: https://graph.facebook.com/oauth/authorize?client_id='.CONSUMER_KEY.'&scope=offline_access,create_event,publish_stream,user_events&redirect_uri='.CONSUMER_URL); }

Дальше можно использовать GraphAPI через PHP SDK или просто читать JSON
https://github.com/facebook/php-sdk/


Слайд 20Facebook + Javascript
“GraphAPI”
Javascript c FB глобальным объектом
FB.init()
FB.login() + FB.logout()
FB.getLoginStatus()
FB.api()


Слайд 21Facebook — впечатления
Пароли временные
Нельзя прочитать друзей X пользователя без разрешения даже

если пользователь разрешил видеть всем #604 error: Сan't lookup all friends of XXXXXX. Can only lookup for the logged in user (XXXXXX), or friends of the logged in user with the appropriate permission

Слайд 22Вопросы?
(Про facebook)


Слайд 23У каждой веры своё отношение к клонам
Абстрактная мысль №3 этого доклада


Слайд 24Вконтакте - объекты
Friends
Wall
Photos
Audio, Video
Places
Offers
Questions
Notes
Pages


Слайд 25Вконтакте
Новый «OpenAPI» (3.0), Iframe плюшки
Javascript с глобальным VK объектом http://vkontakte.ru/js/api/openapi.js
Авторизация на MD5

подписях для PHP/ActionScript

Слайд 26Вконтакте - псевдокод
// старый по логин-паролю
$vkontakte = new vkuserapi ($aSyncAccount['login'], $aSyncAccount[‘password']);


$vkontakte->call ('set_activity',array('ts'=>time(),'text'=> $strMessage));

// новая через ID приложения
$VK = new vkapi($api_id, $secret_key);
$resp = $VK->api('getProfiles', array('uids'=>'1, 2'));

Слайд 27LinkedIN – объекты
Person (Company, Education, Recommendation, Position)
Connection
Share
Invitation


Слайд 28LinkedIN
OAuth 1.0
Можно убить access token
Из объектов API – нет полноценных «компаний»

но есть школы
Есть JS Api как у Facebook + iframe плюшки

Слайд 29LinkedIN – псевдокод c PEAR
require_once 'HTTP/OAuth.php‘; require_once 'HTTP/OAuth/Consumer/Request.php';
require_once 'HTTP/Request2.php‘; require_once 'HTTP/OAuth/Consumer.php';
$oRequest

= new HTTP_Request2;
$oRequest->setHeader('Accept-Encoding', '.*');
$oRequest->setConfig('ssl_verify_peer', false);
$oRequest->setConfig('ssl_verify_host', false);
$oAuthRequest = new HTTP_OAuth_Consumer_Request;
$oAuthRequest->accept($oRequest);

$oConsumer = new HTTP_OAuth_Consumer( $aSyncAccount['consumer_key'], $aSyncAccount['consumer_secret'], $aSyncAccount['access_token'], $aSyncAccount['access_token_secret'] );
$oConsumer->accept($oAuthRequest);

$oResponse = $consumer->sendRequest('http://api.linkedin.com/v1/people-search:(people:(id,first-name,last-name,headline,location,industry,distance,public-profile-url,picture-url,positions,educations),num-results)?keywords='.
rawurlencode('Артём Курапов'), array(), 'GET');

$oXml = simplexml_load_string($oResponse->getBody());

Слайд 30Одноклассники - объекты
Users, Friends
Photos
Events
Messages


Слайд 31Одноклассники
API появилась ~ в октябре 2010
ActionScript, JavaScript, REST API
SSL
auth.login + auth.loginByToken

– цель не уловил

Слайд 32Fin
— а что такое OpenSocial?


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика