2024-09-30 08:32:01 发布
网友
考虑以下代码:
import twitter api = twitter.Api() most_recent_status = api.GetUserTimeline('nemesisdesign')[0].text
在我的服务器上(内梅斯设计.net)几天前停止工作了。在
如果我从我自己的机器上尝试同样的代码,它会很好地工作。在
这是堆栈跟踪:
有什么提示吗?我不知道。。。:-(
前三点:
正如Paul指出的那样,Twitter对其API的许多部分表示反对。您应该检查一下是否使用了当前支持的机制。
官方的twitter python文档绝对是糟糕透顶的。上次我检查过,它们没有反映任何当前的库或连接协议。把它们当作最后的手段。
twitter推荐的python库都严重过时了。很多根本不起作用,大多数根本不起作用。
我建议你把图书馆换成泰森。它是主动维护的,并支持当前的API。还有一些其他积极维护的twitter库。如果某个东西在2个月内被修补过-找另一个图书馆。在
看看你的密码:
你的API对象没有传入任何凭据。IIRC,这在1.0 API中是允许的,但1.1 API不允许这样做-您现在必须使用API凭据进行身份验证:
您应该尝试检查该对象并找出创建404的URL。我猜它是1.0端点。您可能在本地使用更新版本的“twitter”包(不管是什么,该名称空间中有多个),但在服务器上使用的是另一个版本。你应该检查每台机器上的版本。
您的代码应该捕获HTTP错误。Twitter的API非常好,可以使用HTTP状态代码作为错误消息(https://dev.twitter.com/docs/error-codes-responses)的一部分,并且还可以在消息头上发送信息。这通常可以告诉你到底发生了什么。像Twython这样的图书馆大部分都是为你做的。
你所呈现的代码不可能导致这个错误,所以我不知道发生了什么。在
不传入凭据应生成400;错误凭据应生成401。速率限制是420429。阻塞可能是404或420。在
如果我不得不猜测-在本地,您有一个在1.1API端点之后的包,但是您的服务器有一个在1.0之后的包版本-它已经不存在了。在
Twitter最近弃用了他们的旧API。你可能还在用吗?在
注意,更改应该要求您更新到新的基于OAuth的身份验证模型。如果您的站点是为单个帐户访问tweet,则可以使用https://dev.twitter.com/docs/auth/oauth/single-user-with-examples中的过程来避免提示用户访问。在
前三点:
正如Paul指出的那样,Twitter对其API的许多部分表示反对。您应该检查一下是否使用了当前支持的机制。
官方的twitter python文档绝对是糟糕透顶的。上次我检查过,它们没有反映任何当前的库或连接协议。把它们当作最后的手段。
twitter推荐的python库都严重过时了。很多根本不起作用,大多数根本不起作用。
我建议你把图书馆换成泰森。它是主动维护的,并支持当前的API。还有一些其他积极维护的twitter库。如果某个东西在2个月内被修补过-找另一个图书馆。在
看看你的密码:
你的API对象没有传入任何凭据。IIRC,这在1.0 API中是允许的,但1.1 API不允许这样做-您现在必须使用API凭据进行身份验证:
您应该尝试检查该对象并找出创建404的URL。我猜它是1.0端点。您可能在本地使用更新版本的“twitter”包(不管是什么,该名称空间中有多个),但在服务器上使用的是另一个版本。你应该检查每台机器上的版本。
您的代码应该捕获HTTP错误。Twitter的API非常好,可以使用HTTP状态代码作为错误消息(https://dev.twitter.com/docs/error-codes-responses)的一部分,并且还可以在消息头上发送信息。这通常可以告诉你到底发生了什么。像Twython这样的图书馆大部分都是为你做的。
你所呈现的代码不可能导致这个错误,所以我不知道发生了什么。在
不传入凭据应生成400;错误凭据应生成401。速率限制是420429。阻塞可能是404或420。在
如果我不得不猜测-在本地,您有一个在1.1API端点之后的包,但是您的服务器有一个在1.0之后的包版本-它已经不存在了。在
Twitter最近弃用了他们的旧API。你可能还在用吗?在
注意,更改应该要求您更新到新的基于OAuth的身份验证模型。如果您的站点是为单个帐户访问tweet,则可以使用https://dev.twitter.com/docs/auth/oauth/single-user-with-examples中的过程来避免提示用户访问。在
相关问题 更多 >
编程相关推荐