2011-07-22 4 views
1

Я пытаюсь понять, как позволить моим пользователям опубликовать твит, перейдя по ссылке на моем сайте. Это тот процесс, который я разрабатываю:Опубликовать в Twitter через API

  1. Ссылка на сайт будет у вас есть предложение: «Отправить Twit и получить купон».
  2. Как только они нажимают на ссылку предложения, они перенаправляются в Twitter для авторизации.
  3. После того, как они предоставят разрешение на соединение с их профилем Twitter, я хотел бы отправить сообщение с помощью API Twitter с сообщением с заранее заполненным сообщением, например: «Попробуйте этот онлайн-инструмент бесплатно: http» // mylink .com». После того, как сообщение опубликовано они должны быть перенаправлены обратно на мой сайт на страницу с купоном код.

я получил около 75% сделано до сих пор.

  1. Я установил twitterOauth library
  2. Основываясь на демонстрационных примерах, я могу сделать следующее: - - Ссылка на Twitter (DEMO) - Вход пользователя с Twitter - Перенаправить на мой сайт

Что мне еще нужно выяснить, как вывесить твит ... В идеале я хотел бы покажите сообщение, которое будет опубликовано, но без возможности редактировать его, просто чтобы сообщить им. Я могу показать его на первой странице, что означает, что я хотел бы опубликовать его автоматически, как только они предоставят разрешение на Twitter, прямо перед перенаправлением на код купона. Где я могу добавить функциональность POST?

Вот код return.php.

<?php 
/* Start session and load library. */ 
session_start(); 
require_once('twitteroauth/twitteroauth.php'); 
require_once('config.php'); 

// This is where we end up when the user comes back from twitter. 
// First, we creat a new connection object 
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); 
// Then we use it to send a twitter message 

$connection->post('statuses/update', array('status' => 'Test message')); 

// Finally, we redirect the user to the coupon page 
header('Location: /privacy'); // Supplies user with coupon 
?> 

ответ

3

Когда Twitter перенаправляет пользователя на ваш сайт, отправьте Tweet, затем загрузите страницу с кодом купона. Хотя убедитесь, что вы проинформировали пользователя о том, что их статус будет обновлен, если они разрешат ваше приложение.

Вы забыли обмен на access_tokens:

<?php 
/* Start session and load library. */ 
session_start(); 
require_once('twitteroauth/twitteroauth.php'); 
require_once('config.php'); 

// This is where we end up when the user comes back from twitter. 
// First, we creat a new connection object 
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); 

$token_credentials = $connection->getAccessToken($_REQUEST['oauth_verifier']); 
$_SESSION['oauth_token'] = $token_credentials['oauth_token'] 
$_SESSION['oauth_token_secret'] = $token_credentials['oauth_token_secret']; 

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); 

// Then we use it to send a twitter message 

$connection->post('statuses/update', array('status' => 'Test message')); 

// Finally, we redirect the user to the coupon page 
header('Location: /privacy'); // Supplies user with coupon 
?> 
+0

Да, я прояснит авансом, прежде чем они даже пойти на Twitter и даже показать текст обновления. То, с чем я борюсь, - это как отправить сообщение. Пожалуйста, ознакомьтесь с моим обновленным вопросом с кодом. – santa

+0

@santa Проверьте код, который я добавил в строках 11-13, для получения токена доступа. – Arvin

+0

Работал! Спасибо! Один отсутствует ";" on $ _SESSION ['oauth_token'] line ... – santa

Смежные вопросы