How to → Предложение купона для Tweet
Я видел недавно несколько раз, когда компании предлагают либо ссылку для загрузки, либо код купона для людей, которые будут чирикать об этом. Все автоматизировано, и я хотел бы сделать что-то подобное, но я не совсем понимаю этот процесс.
Обычно вы переходите на страницу со ссылкой. Вы нажимаете на ссылку, и она спрашивает, даете ли вы разрешение на использование какого-либо приложения Tweeter для подключения к вашему профилю. Вы предоставляете разрешение, и оно выводит предварительно написанное сообщение в Twitter, что-то вроде: "Я только что получил купон, чтобы попробовать..." Как только сообщение Twitter будет отправлено, вы перенаправлены на страницу, где вы найдете свой купон код.
Я использую PHP и могу написать все, что необходимо для этого.
Кто-нибудь знает, как все это делается?
Обновление:
Хорошо, я загрузил http://code.google.com/p/oauth-php/still, не понимая, что делать дальше.
Я пытаюсь понять, начиная с этой страницы: http://code.google.com/p/oauth-php/wiki/ConsumerHowTo#Two-legged_OAuth
Как я понимаю процесс, в этом порядке должно выполняться следующее:
-
Мне нужна ссылка где-нибудь на моем сайте, у которой будет предложение: "Отправить Twit и получить купон", правильно?
-
Как только они нажимают ссылку на предложение, как я могу заполнить сообщение в своем окне обновления Twitter: "Попробуйте этот инструмент бесплатно: http" //mylink.com "?
-
Как только они отправят сообщение в Twitter, я полагаю, что у меня будут некоторые настройки, которые перенаправят обратно на мой сайт на страницу с купоном.
UPDATE: переключится на twitteroauth, но все равно нужна помощь...
Ответы
Ответ 1
В принципе, вам нужно создать приложение, которое использует API OAuth для подключения к твиттеру и публикации твита. Это занимает несколько шагов (при условии, что вы зарегистрировали свое приложение в Twitter, предоставив вам ключ и секрет):
- Создайте объект TwitterOAuth, используя учетные данные клиента.
- Запросить временные учетные данные из Twitter.
- Создать авторизационный URL для Twitter.
- Перенаправить пользователя на авторизацию URL.
- Пользователь разрешает доступ и возвращается из Twitter.
- Восстановить объект TwitterOAuth с учетными данными клиента и временными учетными данными.
- Query Twitter API.
Используя TwitterOAuth, он будет выглядеть примерно так:
<?php
require_once 'TwitterOAuth.php';
define('THIS', 'http://example.org/tweet.php'); // Absolute URI to script
if(isset($_GET['callback']) {
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET,
$_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
$connection->post('statuses/update', array('status' => 'Coupon message'));
header('Location: coupon.php'); // Supplies user with coupon
} else {
$connection = new TwitterOAuth('key', 'secret'); // Key & secret from Twitter
$temporary_credentials = $connection->getRequestToken(THIS.'?');
$redirect_url = $connection->getAuthorizeURL($temporary_credentials, FALSE);
header('Location: '.$redirect_url.'&callback');
}
?>
(Обратите внимание, что вышеуказанный код не проверен, прочитайте документацию TwitterOAuth, прежде чем делать что-либо самостоятельно.)
Ответ 2
Для более ленивых из нас;) Это делает кнопку заплатить с помощью твита (например,
) и затем ссылаться на URL-адрес вашего выбора. Я думаю, вы могли бы достичь большинства своих целей с помощью этого (хотя коды купонов, которые являются персональными, могут быть сложными).
Ответ 3
Вы можете использовать Abraham Twitter OAuth Library, я бы предложил это, так как поток OAuth невероятно прост.
Что вы хотите сделать, так это сделать ссылку "Tweet об этом, чтобы получить бесплатную загрузку" или что-то еще. Эта ссылка будет перенаправлять их для авторизации вашего приложения Twitter, когда обратный вызов возвращается на ваш сайт, вы запрашиваете токен доступа и сохраняете его. Эта страница должна иметь текстовое поле, предварительно заполненное вашим сообщением, которое отправляет на ваш сайт сообщение, которое они хотят отправить. Вы выполните вызов API, чтобы отправить сообщение с помощью маркера доступа, который вы получили. После того, как вы сделаете звонок и опубликуете твит, покажите им страницу для загрузки.
Взгляните на Документацию по библиотеке TwitterOAuth, так как в нем есть подробные примеры того, как использовать библиотеку для совершения вызовов, которые вы ищете.
Ответ 4
Немного PHP script и что он делает:
// php.ini::session.auto_start=1
include('commands.php');
$command = get_command_from_request();
switch($command) {
case 'tweet':
command_tweet(); break;
case 'redirect':
command_redirect(); break;
default:
command_default();
}
Имейте в виду, что вам необходимо реализовать сопоставление команды с запросом самостоятельно (реализация get_command_from_request
), а также для конкретных команд.
Tweeting зависит от используемого вами API. В качестве примера можно использовать любой из многих API-интерфейсов.
Рядом с этим вам нужно создать HTML-форму для сбора данных, необходимых для чириканья (ключи API и т.д.). Если вы не знаете, как данные попадают в ваш script, ознакомьтесь с руководством по PHP о формах.
Итак, пусть command_default
отображает форму, а также ее верификацию внутри command_tweet
, а get_command_from_request
выполняется сейчас. Остальное делает перенаправление на ваш секретный купон script.
Как вы не много рассказали о своем секретном купоне script, перенаправления, вероятно, достаточно. Хорошей функцией для перенаправления HTTP в PHP является http_redirect()
.