Tag: twitter

正则表达式使用ruby匹配句子中的主题标签

我正在尝试使用ruby on rails为一个简单的大学项目提取主题标签。 我面临的问题是标签只包含数字和没有空格的标签。 text = “Pack my #box with #5 dozen liquor.#jugs link.com/liquor#jugs #2good #first#second” 我有的正则表达式是/(?:^|\s)#(\w+)/i ( 来源 ) 这个正则表达式返回#[“box”, “5”, “2good”, “first”] 如何确保它只返回#[“box”, “2good”]并忽略其余部分,因为它们不是“真正的”主题标签?

Twitter API – Ruby Twitter Gem

如何访问Twitter API返回的Twitter :: Cursor哈希值? 我正在关注Jumpstartlab Microblogger教程,通过jumpstart_auth gem使用Twitter gem 。 我正在迭代4步骤1.我可以使用以下代码返回一个friends对象: def friends_last_tweets friends = client.friends puts friends end => Twitter::Cursor:0x00000104051928 但是,在这种情况下,示例帐户“客户端”有两个“朋友”而不仅仅是一个,所以为什么它只返回一个对象? 我想也许那个对象就是数组或数组,所有的朋友都相应地在哈希值中,因此使用[]来访问,但这会返回“Twitter :: Cursor的未定义方法”。 我在Twitter :: Cursor对象上运行each ,它返回两个fixnums: def friends_last_tweets friends = client.friends friends.each { |f| puts f } end => 18908095 108528349 所以这些数字肯定必须代表我认为的Twitter :: Cursor对象中的每个“朋友对象”。 我需要访问该对象中的键/值对,但我尝试的哈希访问导致未定义的方法或变量。 如果它的版本问题相关,我使用的是Twitter5.11.0和Jumpstart_auth 0.6.0。

Twitter ::错误::在PostsController中未经授权#create – 令牌无效或过期

为什么“创建”会给我一个无效/过期的令牌错误? 用户可以很好地登录(因此他们经过正确的身份validation),但是当他们尝试创建post时,我收到此错误。 我正在使用Omniauth gem(v1.1.4)进行身份validation,使用Twitter gem(v4.6.2)发布到Twitter。 如果重要的话,Omniauth-twitter的gem是v.0.0.16。 这是导致我错误的代码 class PostsController < ApplicationController def create Twitter::Client.new.update(@post.content) end end 这是用户模型的一部分(user.rb) def twitter unless @twitter_user provider = self.authentications.find_by_provider(‘twitter’) @twitter_user = Twitter::Client.new(:oauth_token => provider.token, :oauth_token_secret => provider.secret) rescue nil end @twitter_user end 这是我的omniauth初始化程序 Rails.application.config.middleware.use OmniAuth::Builder do configure do |config| config.path_prefix = ‘/auth’ end provider :twitter, “xxxxxxxxxxxxxxxxxxxx”, “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” end Twitter.configure do […]

Twitter中的Ruby三脚授权

我在铁轨上尝试我的手ruby。 大部分时间我都在Sinatra编写代码。 无论如何,这个问题可能不需要对框架做任何事情。 这个问题听起来可能是一个非常新手的问题。 我第一次玩Twitter 1.1 API和OAuth。 我创建了一个应用程序XYZ并在Twitter上注册了它。 我得到了XYZ的消费者密钥,即CONSUMER_KEY和消费者秘密,即CONSUMER_SECRET。 我还获得了XYZ自己的访问令牌,即ACCESS_TOKEN和访问机密,即ACCESS_SECRET XYZ应用程序类型:读取,写入和访问直接消息XYZ回调URL: http ://www.mysite.com/cback我已检查过:允许此应用程序用于通过Twitter登录 我想要做的很简单: 1)用户访问我的网站并点击链接Link your twitter account (不用twitter登录) 2)打开twitter弹出窗口,用户授权XYZ代表他/她执行操作 3)一旦用户允许并弹出窗口关闭,XYZ应用程序将获取用户的访问令牌并保密,并保存在数据库中。 4)然后XYZ使用该用户的令牌和秘密来执行将来的操作。 我可能很蠢,这样的工作流已经在几千个网站上实现,Twitter API文档解释了这个三方认证,但我仍然无法弄明白。 我已阅读https://dev.twitter.com/docs/auth/3-legged-authorization和https://dev.twitter.com/docs/auth/implementing-sign-twitter遗憾的是,互联网上没有找到ruby代码用一步一步的例子解释。 当用户单击Link your twitter account时,应使用什么链接打开Twitter身份validation页面。 任何人都可以在这里用我的pseduo凭证编写一些伪代码来实现我的目标,从这个工作流程结束到最后? 谢谢。 更新: 我开始请求请求令牌为 require ‘oauth’ consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, { site: “https://twitter.com”}) request_token = consumer.get_request_token oauth_callback: ‘http://www.mysite.com/tauth’ redirect_to request_token.authorize_url

Ruby Twitter API出错

我使用’twitter’gem的Ruby脚本出错了。 我的脚本中产生错误的部分是 require ‘twitter’ require ‘net/http’ require ‘json’ #### Get your twitter keys & secrets: #### https://dev.twitter.com/docs/auth/tokens-devtwittercom Twitter.configure do |config| config.consumer_key = ‘xxxxxxx’ config.consumer_secret = ‘xxxxxxx’ config.oauth_token = ‘xxxxxx’ config.oauth_token_secret = ‘xxxxxxx’ end 错误说undefined method ‘configure’ for Twitter:Module (NoMethodError)但是’twitter’和’json’gem都在我的gemfile中,所以我不确定为什么这个方法是未定义的。

Sinatra并不是以twitter gem开头的

当我尝试启动sinatra时,我遇到了以下错误 /var/lib/gems/1.9.1/gems/sinatra-1.4.4/lib/sinatra/base.rb:1488:in start_server’: undefined method用于HTTP的start_server’: undefined method运行:模块(NoMethodError) require ‘sinatra/base’ require_relative “twt.rb” class SinatraApp < Sinatra::Base set :static, true set :public_folder, File.dirname(__FILE__) + '/static' get '/getuserinfo' do @user = twit.getuserinfo erb :userInfo end end SinatraApp.run! 在“twt.rb”我需要推特(5.7.1) require ‘twitter’ class Twit attr_accessor :client def initialize(consumer_key,consumer_secret,access_token,access_token_secret) @client = Twitter::REST::Client.new do |config| config.consumer_key = consumer_key config.consumer_secret = consumer_secret config.access_token […]