我正在使用 Twitter gem 进行身份验证并将内容共享到 twitter。我还需要包含一个图像,所以我使用“update_with_media”方法,如下所示:
def tweet
client = Twitter::REST::Client.new do |config|
config.consumer_key = "my consumer key"
config.consumer_secret = "my consumer secret"
config.access_token = "my access token"
config.access_token_secret = "my secret access token"
end
url = @flip.image_urls[:normal].to_s
r = open(url)
bytes = r.read
img = Magick::Image.from_blob(bytes).first
fmt = img.format
data = StringIO.new(bytes)
data.class.class_eval { attr_accessor :original_filename, :content_type }
data.original_filename = @flip.slug + "." + fmt unless @flip.slug.nil?
data.content_type='image.jpg'
client.update_with_media(personal_message, data)
end
我得到了这样的回应:
Twitter::Error::Unauthorized (Could not authenticate you):
对于与 twitter、获取关注者或推文(没有媒体更新)的所有其他交互,它可以在同一个帐户上正常工作,所以我的凭据是正确的。
有什么想法吗?这是 Twitter 的 API 或Twitter Gem上的错误吗?
我感谢任何帮助,谢谢。