【问题标题】:How to --> Offer a coupon for a Tweet如何 --> 为推文提供优惠券
【发布时间】:2011-06-28 14:42:09
【问题描述】:

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

通常您会转到带有链接的页面。您单击一个链接,它会询问您是否允许某些 Tweeter 应用程序连接到您的个人资料。您授予权限,它会显示一条预先编写的 twitter 消息,例如:“我刚拿到一张优惠券可以试用……” 发送 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 帖子,我想我会有一些设置将重定向回我的网站,并跳转到带有优惠券的页面。


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

【问题讨论】:

  • “我使用 PHP,并且可以编写完成此任务所需的任何内容。” - 去吧:安装众多 twitter PHP APIs 之一,供您的用户使用它与他们的凭证和一些小的 PHP 脚本。在那个小的 PHP 脚本中为他们发布推文,通过将位置标头发送到您的优惠券脚本来成功重定向他们。完成。
  • 那个“小 PHP 脚本”...我很想看到一个例子。它应该做什么?谢谢。

标签: php twitter


【解决方案1】:

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

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

【讨论】:

  • 我已经为这个网站在 Twitter 上设置了一个应用程序,我可以使用它还是需要设置一个新的?
  • @santa:您应该可以在这里使用相同的密钥/密钥对。
  • 好的,我关注了文档,现在我有了一个起始页,用户可以在其中单击“使用 Twitter 登录”按钮,重定向到 Twitter。在那里成功登录后,它们被重定向回我的 redirect.php 页面,该页面检查是否成功登录,如果为真 - 将它们发送到指定页面。在这一点上,我让他们推特并在推特成功发布后将他们重定向回优惠券代码页?这个过程还不清楚。
  • @santa:事情就是这样。
  • 我明白,但我不希望他们在成功登录 Twitter 后访问我的页面。我需要他们推特报价,然后重定向到优惠券。我怎么做?我觉得我占了 75%,但不确定剩下的 25% 是多少。
【解决方案2】:

对于我们这些更懒惰的人 ;) This 制作一个指向 pay with a tweet 的按钮(就像 一样),然后链接到您选择的 URL。我想你可以通过这个 实现大部分目标(尽管个人的优惠券代码可能很棘手)

【讨论】:

  • 这太酷了!我想,在我弄清楚如何让我的代码工作之前,我会选择这个应用程序。
【解决方案3】:

您可以使用Abraham's Twitter OAuth Library,我建议您使用它,因为它使 OAuth 流程非常简单。

您需要做的是创建一个链接,例如“在推特上发布有关此内容以获取免费下载”之类的链接。该链接将重定向他们以授权您的 Twitter 应用程序,当回调返回您的站点时,您请求访问令牌并保存它。该页面应该有一个预先填充了您的消息的文本框,该文本框会在您的网站上发布他们想要发送的消息。您将执行 API 调用以使用您收到的访问令牌发布消息。拨打电话并发布推文后,向他们展示下载页面。

查看TwitterOAuth Library Documentation,因为它有详细的示例说明如何使用该库进行您正在寻找的调用。

【讨论】:

  • 我使用过那个库,但仍然难以发布推文。
【解决方案4】:

一个小的 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_default 显示表单以及它在command_tweet 中的验证,get_command_from_request 现在已经完成。剩下的就是重定向到您的秘密优惠券脚本。

由于您没有分享太多关于您的秘密优惠券脚本的信息,因此重定向可能就足够了。在 PHP 中进行 HTTP 重定向的一个不错的函数是 http_redirect()

【讨论】:

  • 我最终实现了 TwitterOAuth,尽管一切似乎都可以正常工作,但我没有看到发布的消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多