2013-04-20 86 views
0

所以我试图获取用户使用PHP脚本发布的最新推文(并将结果缓存到文本文件中)。我正在使用请求https://api.twitter.com/1/statuses/user_timeline.json?count=5&screen_name=google并且它作为公共客户端一直工作正常,但为了更好地控制我的API命中限制,我需要验证我的请求。如何使用Twitter的API从某人的时间线获取推文? (验证问题!)

我试过了https://dev.twitter.com/docs/auth/application-only-auth显示的方法,但是我成功连接后,出现错误“您的凭据不允许访问此资源”(为什么?)。所以我尝试使用OAuth方法(对于像我这样的业余爱好者来说这看起来非常复杂),并下载了TwitterOAuth library。但我仍然无法连接!我把我的凭据放在config.php文件中,但我不知道该从哪里去。文档似乎暗示我需要手动登录到Twitter来授权应用程序的连接标记......或其他东西。显然我需要重定向到一些回调URL(甚至?!),并获得一个短期连接来启用一个长期连接密码,我必须在以后存储它?这是什么疯狂?

我最初的印象是,我可以从Twitter的RSS feeds中获取数据,但由于某些原因无法从脚本访问这些数据(不像Google News RSS提要取得的很好)。看来我已经把自己变得比我签署的要复杂得多。难道没有一个更简单(更安全)的方法吗?或者没有什么是绝对简单的?

我很抱歉这么容易混淆dullard,但我的头在旋转。

谢谢!


编辑:周围挖后一些,我决定只使用PHP卷曲来获取原始页面,然后做一些Xpath的巫术得到鸣叫,它们被张贴的时间。当然,这是CPU密集型的,远不稳定,并且可能不是一种令Twitter喜欢的做法。它也只会返回最后20条推文(这对我的需求来说已经足够了)。

但是,Cormac Driver的响应低于关于Temboo的肯定是我下次需要做这种事的时候我会调查的方法。

回答

1

Temboo提供了一种使用OAuth使用Twitter进行身份验证的简单方法。该过程分为两个步骤:

  1. InitializeOauth。此步骤会返回Twitter帐户持有者可以访问的Twitter授权URL,以授予您脚本的访问权限。

  2. FinalizeOauth。此步骤会返回您的脚本将代表用户向Twitter API发送经过验证的请求所需的访问令牌。关于如何使用PHP在这里做这个

全部细节:https://www.temboo.com/library/Library/Twitter/OAuth/

你可以看到Temboo如何处理的OAuth对于Facebook这个页面上的例子。提供了PHP源代码,它与您为Twitter执行相同操作所需的代码几乎完全相同。

(全面披露:我在Temboo工作)

+0

谢谢,这帮助了 - 虽然我最终去了不同的途径(我使用的卷曲,这是不是真的有效或稳定,但给了我什么,我想简单地足够)。尽管如此,我仍然会将Temboo放在其他项目的头脑中,这些库似乎可以为我节省很多麻烦! – Orteil 2013-05-06 16:12:46

+0

不客气!如果您对Temboo有任何疑问,请随时与我联系。 – 2013-05-06 16:17:07

相关问题