【问题标题】:PHP cron script with twitter (problem with oauth)带有 twitter 的 PHP cron 脚本(oauth 问题)
【发布时间】:2010-06-04 00:32:09
【问题描述】:

我正在尝试编写一个将由 crontab 运行的 php twitter 脚本,该脚本的作用是从专用的 twitter 帐户获取推文。

我查看了一些 php twitter oauth 库,它们似乎都使用重定向到 twitter 页面来获取令牌,然后返回到回调链接。就我而言,我根本不想进行任何用户交互。

谁能告诉我该怎么做?

问候

詹姆斯

【问题讨论】:

  • 我可能只是使用 xAuth 代替,向 twitter 发送了一封电子邮件,要求他们让我使用它,看看会发生什么......
  • 我发现 oAuth 并没有增加编写 twitter 机器人的任何好处,因为它不是在单个 twitter 帐户上使用 oAuth 的目的(消费者已经知道用户的凭据)
  • 对于那些有同样问题的人,我写了一个博客来告诉你步骤。 james.limsbros.com/2010/07/28/…

标签: php twitter oauth


【解决方案1】:

Twitter 在 dev.twitter.com 上提供了专为此用途设计的单一访问令牌功能。

http://dev.twitter.com/pages/oauth_single_token

【讨论】:

    【解决方案2】:

    您根本不需要使用 Twitter API。推文是公共资源,可通过 HTTP 访问。

    这是官方 Twitter 帐户的最后 10 条推文,可通过 JSONXML 获取。

    【讨论】:

    • 如果我想使用该专用帐户发布推文怎么办?该脚本查看推文,然后进行一些后端处理,然后发布回复......
    • @James Lin:Hrm。我没有足够深入地使用 Twitter API 来了解是否仍然允许使用平面用户名和密码。您可能需要做一些花哨的事情,例如授权您的应用程序在不询问的情况下对虚拟用户的帐户进行操作,或者只是通过 Twitter 的 Web 界面运行。
    • “您可能需要做一些花哨的事情,例如授权您的应用程序在不询问的情况下对虚拟用户的帐户进行操作”我该怎么做????干杯!
    • @James Lin:我从来没有做过;我只看到它完成了。虽然,现在我想起来了,他们通过 OAuth 授权应用程序,对吧?因此,您只需执行一次 OAuth 身份验证来确认您的应用程序,然后就可以永远代表该虚拟用户采取行动,对吗?因为我至少在一个网站上。
    • 我本来打算这样做,但 twitter 很快就会使令牌过期,尽管我知道它们目前不会过期......
    【解决方案3】:

    我将 oAuth 用于我的 Twitter 机器人。我通过制作 Web 界面并注册它获得了 oAuth 令牌。然后我通过我的电话传递令牌。

    我使用 Abraham 的 oAuth 库: http://twitteroauth.labs.poseurtech.com/connect.php

    您可以使用库中的示例来获取令牌。只需让它从它在回调中创建的 $_SESSION 中回显令牌。

    【讨论】:

    • 您的方法是否依赖永不过期令牌,或者即使 twitter 使令牌过期,它也会起作用?
    • 对我之前的评论,是的,您的方法不依赖于到期日期。但是需要你在网上公开一个回调页面...
    • 仅是第一次。我的机器人在运行时没有回调或 oAuth 握手。
    【解决方案4】:

    除非帐户是私有的,否则您不需要进行身份验证。

    或使用 OAuth,并使用管理屏幕进行身份验证。

    我们目前没有使访问过期 令牌。您的访问令牌将是 如果用户明确拒绝则无效 您的应用程序从他们的设置 或者如果 Twitter 管理员暂停了你的 应用。如果您的应用程序是 暂停会有一个说明你 应用程序页面说它有 被暂停了。

    http://apiwiki.twitter.com/OAuth-FAQ

    【讨论】:

    • 它们目前不会使令牌过期,但当我从谷歌聊天中的一位开发人员那里读到时,它们很快就会过期。
    • 当它过期时,你可以设置它给你发送电子邮件。
    • 这是问题所在,机器人脚本是用于商业目的,我不能每个小时都坐下来。 groups.google.com/group/twitter-development-talk/browse_thread/… “请求令牌的寿命预计很短,因为它仅用于交换访问令牌。现在它们不会过期,但在即将发生的变化中,我们将把它们限制为一小时的生命周期以提高性能和可扩展性。访问令牌的生命周期在apiwiki.twitter.com/OAuth-FAQ 中有详细说明。谢谢;— Matt Sanford “
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2011-07-16
    • 2011-02-22
    • 1970-01-01
    相关资源
    最近更新 更多