Skip to content

Instantly share code, notes, and snippets.

@mh-mobile
Last active October 30, 2020 01:47
Show Gist options
  • Save mh-mobile/f2fc3f71b0f85ddeb1b2fda350b18a25 to your computer and use it in GitHub Desktop.
Save mh-mobile/f2fc3f71b0f85ddeb1b2fda350b18a25 to your computer and use it in GitHub Desktop.
request Twitter Event Search
require "bundler/inline"
gemfile(true) do
source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
# Activate the gem you are reporting the issue against.
gem "activerecord", "6.0.0"
end
require 'net/http'
require 'net/https'
require 'json'
# Request (GET )
def send_request
uri = URI('https://api.twitter.com/1.1/search/tweets.json?q=(url%3Adoorkeeper.jp%2Fevents%20OR%20url%3Aconnpass.com%2Fevent%2F)%20filter%3Alinks&count=5')
# Create client
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
# Create Request
req = Net::HTTP::Get.new(uri)
# Add headers
req.add_field "Authorization", "Here's bearer token"
# Fetch Request
res = http.request(req)
res
rescue StandardError => e
puts "HTTP Request failed (#{e.message})"
end
require "minitest/autorun"
require "logger"
class TwitterEventSearch < Minitest::Test
def test_response
res = send_request
body = JSON.parse(res.body)
statuses = body["statuses"]
statuses.each do |tweet|
id_str = tweet["id_str"]
text = tweet["text"]
created_at = tweet["created_at"]
user = tweet["user"]
# event_url = tweet["entities"]["urls"][0]["expanded_url"]
retweeted_status = tweet["retweeted_status"]
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment