2009-11-13 67 views
17

我正在尝试编写一个可以通过OAuth使用Twitter的Web应用程序。如何在本地测试twitter API?

  1. 我跑我的本地服务器作为“localhost”的,所以我需要回调URL是像http://localhost/something/twitter.do但Twitter没有这样的:不是有效的URL格式

  2. 我可能要做很多测试,但是一旦我用我的用户名批准了我的应用程序,我不能再测试一次吗?我应该创建多个Twitter帐户?或者你可以删除一个应用程序,并再次执行?

回答

1

您是否尝试过创建自己的缓存机制?您可以采用初始查询的结果,将其缓存在本地线程上,并给定到期时间,从Twitter进行刷新。这可以让你测试你的应用程序对Twitter数据,而不会导致通话处​​罚。

-3

1.)不要使用本地主机。这没有帮助。为什么不站起来另一个服务器实例或从slicehost获得测试VM切片?

2.)您可能需要一堆不同的用户帐户和一对不同的OAuth密钥/秘密凭据进行测试。

尽管如此,您还是处于正确的轨道:请通过your twitter account's connections setting撤消应用的凭据。这应该优雅地发生。您可能需要在访问令牌信息旁边存储状态值,以便您可以将令牌标记为撤消。

3

对API GET调用的Twitter“限速”基于调用者的IP地址。因此,您可以使用相同的IP地址从您的服务器测试您的应用程序,并且每小时获得(一旦批准)15,000个API调用。这意味着只要您批准的IP地址保持不变,您就可以用许多不同的用户名称来打击您的应用。

当您将电子邮件发送到Twitter以要求提高您的费率限制时,您也可以要求增加以应用于您的Twitter用户名。

我相信Twitter的需要你 - 如果你需要改变你的IP地址,或更改使用的应用程序的用户名 - 在另一个请求,要求限速增加新的IP地址或用户名来发送。但是,根据我的经验,Twitter在转换这些请求方面做得非常快(可能不到48小时?)。

20
  1. 您可以使用127.0.0.1而不是localhost

  2. 你可以授权你的应用程序多次,只要你喜欢从同一个twitter帐户,而无需撤销它。然而,认证行动只会提示输入允许/拒绝一次,所有后续验证,直到撤销特权请求将刚好通过。

0

在回答(1),看到这个主题,尤其是episod的回复:https://dev.twitter.com/discussions/5749

不要紧,你把回调URL在应用程序的管理页面上开发。 twitter.com(只要你不使用本地主机)。您提供的“真实”的回调URL作为您的要求为OAuth凭证的一部分。

0

也有另一种解决方案(一种解决方法,而不是),这就需要您编辑hosts文件。

这里是你如何做到这一点在Linux中:

  1. 打开/etc/hosts文件root。要做到这一点,你可以打开一个终端,并键入类似sudo vi /etc/hosts

  2. 选择一个不存在的域名作为您的本地地址,并将其添加到您的hosts文件中。例如,您将需要添加类似末下面的东西。

    127.0.0.1 localhost.cep # this domain name was accepted. 
    

所以,这是相当多了。浏览器指向localhost.cep现在将带你到你的本地服务器。希望帮助:)