如何 - >为推特提供优惠券

时间:2011-06-28 14:42:10

标签: php twitter

最近我见过几次公司提供下载链接或优惠券代码给那些会发推文的人。这一切都是自动化的,我想做这样的事情,但我对这个过程并不十分清楚。

通常您会转到包含链接的页面。您单击一个链接,它会询问您是否允许某些Tweeter应用程序连接到您的个人资料。你授予许可,它会带来预先编写的Twitter消息,例如:“我只有一​​张优惠券可以试用......”一旦发送推文消息,你就会被重定向到你找到优惠券的页面代码。

我使用PHP并且可以编写完成此操作所需的任何内容。

任何人都知道这一切是如何完成的?


更新:

好的,我下载了http://code.google.com/p/oauth-php/still,不清楚接下来要做什么。

我想弄清楚这个页面的开头:http://code.google.com/p/oauth-php/wiki/ConsumerHowTo#Two-legged_OAuth

我理解这个过程的方式应按以下顺序进行:

  1. 我需要在我的网站上某处提供一个链接:“发送Twit并收到优惠券”,对吗?

  2. 点击优惠链接后,如何将消息填入他们的Twitter更新窗口:“免费试用此工具:http”//“mylink.com”?

  3. 一旦他们提交Twitter帖子,我想我会有一些设置会重定向回我的网站,并带有优惠券。


  4. 更新:切换到twitteroauth,但仍然需要帮助...

4 个答案:

答案 0 :(得分:8)

基本上,您必须创建一个使用OAuth API连接到Twitter并发布推文的应用。这需要几个步骤(假设您已经在Twitter上注册了您的应用程序,为您提供密钥和秘密):

  1. 使用客户端凭据构建TwitterOAuth对象。
  2. 从Twitter请求临时凭证。
  3. 为Twitter建立授权网址。
  4. 重定向用户以授权网址。
  5. 用户授权访问并从Twitter返回。
  6. 使用客户端凭据和临时凭证重建TwitterOAuth对象。
  7. 查询Twitter API。
  8. 使用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的文档。)

答案 1 :(得分:3)

对于我们更懒惰的人;)This按下pay with a tweet按钮(如此enter image description here),然后链接到您选择的网址。我猜你可以通过这个达到你的目标(尽管个人的优惠券代码可能很棘手)

答案 2 :(得分:1)

你可以使用Abraham's Twitter OAuth Library,我会建议它,因为它使OAuth流程非常容易。

你要做的是做一个像“Tweet about this to get a free download”之类的链接。该链接将重定向它们以授权您的Twitter应用程序,当回调返回到您的站点时,您请求访问令牌并保存它。此页面应该有一个预先填充了您的邮件的文本框,该文本框会向您的网站发布他们想要发送的邮件。您将执行API调用以使用您收到的访问令牌发布消息。拨打电话并发布推文后,请向他们显示下载页面。

请查看TwitterOAuth Library Documentation,因为它有关于如何使用该库来拨打您正在寻找的电话的详细示例。

答案 3 :(得分:0)

一个小小的PHP脚本及其作用:

// 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的实现),以及具体的命令。

推文取决于您使用的API。有问题的API中的任何一个都以此为例。

接下来,您需要构建一个HTML表单来收集推文所需的数据(API密钥等)。如果您不知道数据如何进入您的脚本,请查看PHP manual about forms

因此,我们假设command_defaultcommand_tweet中显示表单及其验证,现在已完成get_command_from_request。其余的是重定向到您的秘密优惠券脚本。

由于您没有太多关于您的秘密优惠券脚本的分享,重定向可能就足够了。在PHP中进行HTTP重定向的一个很好的功能是http_redirect()