Testing: Add coverage for ExternalCredential::Twitter

This commit is contained in:
Ryan Lue 2020-03-13 13:04:33 +08:00 committed by Thorsten Eckel
parent 847cf02b49
commit bdec29179d
28 changed files with 5677 additions and 159 deletions

View file

@ -42,7 +42,7 @@ RSpec.describe 'External Credentials', type: :request do
end end
context 'authenticated as admin' do context 'authenticated as admin' do
before { authenticated_as(admin_user) } before { authenticated_as(admin_user, via: :browser) }
describe '#index' do describe '#index' do
it 'responds with an array of ExternalCredential records' do it 'responds with an array of ExternalCredential records' do
@ -177,117 +177,349 @@ RSpec.describe 'External Credentials', type: :request do
end end
end end
context 'for Twitter' do context 'for Twitter', :use_vcr do
let(:invalid_credentials) do shared_context 'for callback URL configuration' do
{ consumer_key: 123, consumer_secret: 123, oauth_token: 123, oauth_token_secret: 123 } # NOTE: When recording a new VCR cassette for these tests,
# the URL below must match the callback URL
# registered with developer.twitter.com.
before do
Setting.set('http_type', 'https')
Setting.set('fqdn', 'zammad.example.com')
end
end end
describe '#app_verify' do shared_examples 'for failure cases' do
describe 'failure cases' do it 'responds with the appropriate status and error message' do
send(*endpoint, as: :json, params: try(:params) || {})
expect(response).to have_http_status(status)
expect(json_response).to include('error' => error_message)
end
end
let(:valid_credentials) { attributes_for(:twitter_credential)[:credentials] }
let(:invalid_credentials) { attributes_for(:twitter_credential, :invalid)[:credentials] }
describe 'POST /api/v1/external_credentials/twitter/app_verify' do
let(:endpoint) { [:post, '/api/v1/external_credentials/twitter/app_verify'] }
context 'when permission for Twitter channel is deactivated' do context 'when permission for Twitter channel is deactivated' do
before { Permission.find_by(name: 'admin.channel_twitter').update(active: false) } before { Permission.find_by(name: 'admin.channel_twitter').update(active: false) }
it 'returns 401 unauthorized with internal (Zammad) error' do include_examples 'for failure cases' do
post '/api/v1/external_credentials/twitter/app_verify', as: :json let(:status) { :unauthorized }
expect(response).to have_http_status(:unauthorized) let(:error_message) { 'Not authorized (user)!' }
expect(json_response).to include('error' => 'Not authorized (user)!')
end end
end end
context 'with no credentials' do context 'with no credentials' do
it 'returns 200 with internal (Zammad) error' do include_examples 'for failure cases' do
post '/api/v1/external_credentials/twitter/app_verify', as: :json let(:status) { :ok }
let(:error_message) { 'No consumer_key param!' }
end
end
context 'with invalid credential params' do
let(:params) { invalid_credentials }
include_examples 'for failure cases' do
let(:status) { :ok }
let(:error_message) { '401 Authorization Required' }
end
end
context 'with valid credential params but misconfigured callback URL' do
let(:params) { valid_credentials }
include_examples 'for failure cases' do
let(:status) { :ok }
let(:error_message) { <<~ERR.chomp }
403 Forbidden, maybe credentials wrong or callback_url for application wrong configured.
ERR
end
end
context 'with valid credential params and callback URL but no dev env registered' do
let(:params) { valid_credentials }
include_context 'for callback URL configuration'
include_examples 'for failure cases' do
let(:status) { :ok }
let(:error_message) { <<~ERR.chomp }
Unable to get list of webooks. Maybe you do not have an Twitter developer approval right now or you use the wrong 'Dev environment label': Forbidden.
ERR
end
end
context 'with valid credential params and callback URL but wrong dev env label' do
let(:params) { valid_credentials.merge(env: 'foo') }
include_context 'for callback URL configuration'
include_examples 'for failure cases' do
let(:status) { :ok }
let(:error_message) { <<~ERR.chomp }
Unable to get list of webooks. Maybe you do not have an Twitter developer approval right now or you use the wrong 'Dev environment label': Unable to get list of webooks. You use the wrong 'Dev environment label', only {:environments=>[{:environment_name=>\"zammad\", :webhooks=>[]}]} available.
ERR
end
end
context 'with valid credential params, callback URL, and dev env label' do
let(:env_name) { valid_credentials[:env] }
include_context 'for callback URL configuration'
shared_examples 'for successful webhook connection' do
let(:webhook_id) { '1241980494134145024' }
it 'responds 200 OK with the new webhook ID' do
send(*endpoint, as: :json, params: valid_credentials)
expect(response).to have_http_status(:ok) expect(response).to have_http_status(:ok)
expect(json_response).to include('error' => 'No consumer_key param!') expect(json_response).to match('attributes' => hash_including('webhook_id' => webhook_id))
end end
end end
context 'with invalid credentials, via request params' do context 'with no existing webhooks' do
it 'returns 200 with remote (Twitter auth) error', :use_vcr do let(:webhook_url) { "#{Setting.get('http_type')}://#{Setting.get('fqdn')}#{Rails.configuration.api_path}/channels_twitter_webhook" }
post '/api/v1/external_credentials/twitter/app_verify', params: invalid_credentials, as: :json
expect(response).to have_http_status(:ok) include_examples 'for successful webhook connection'
expect(json_response).to include('error' => '401 Authorization Required')
it 'registers a new webhook' do
send(*endpoint, as: :json, params: valid_credentials)
expect(WebMock)
.to have_requested(:post, "https://api.twitter.com/1.1/account_activity/all/#{env_name}/webhooks.json")
.with(body: "url=#{CGI.escape(webhook_url)}" )
end end
end end
context 'with invalid credentials, via existing ExternalCredential record' do context 'with an existing webhook registered to another app' do
before { create(:twitter_credential, credentials: invalid_credentials) } include_examples 'for successful webhook connection'
it 'returns 200 with remote (Twitter auth) error', :use_vcr do it 'deletes all existing webhooks first' do
post '/api/v1/external_credentials/twitter/app_verify', as: :json send(*endpoint, as: :json, params: valid_credentials)
expect(response).to have_http_status(:ok) expect(WebMock)
expect(json_response).to include('error' => '401 Authorization Required') .to have_requested(:delete, "https://api.twitter.com/1.1/account_activity/all/#{env_name}/webhooks/1241981813595049984.json")
end
end
context 'with an existing, invalid webhook registered to Zammad' do
include_examples 'for successful webhook connection'
it 'revalidates by manually triggering a challenge-response check' do
send(*endpoint, as: :json, params: valid_credentials)
expect(WebMock)
.to have_requested(:put, "https://api.twitter.com/1.1/account_activity/all/#{env_name}/webhooks/1241980494134145024.json")
end
end
context 'with an existing, valid webhook registered to Zammad' do
include_examples 'for successful webhook connection'
it 'uses the existing webhook' do
send(*endpoint, as: :json, params: valid_credentials)
expect(WebMock)
.not_to have_requested(:post, "https://api.twitter.com/1.1/account_activity/all/#{env_name}/webhooks.json")
end end
end end
end end
end end
describe '#link_account' do describe 'GET /api/v1/external_credentials/twitter/link_account' do
describe 'failure cases' do let(:endpoint) { [:get, '/api/v1/external_credentials/twitter/link_account'] }
context 'with no credentials' do
it 'returns 422 unprocessable entity with internal (Zammad) error' do
get '/api/v1/external_credentials/twitter/link_account', as: :json
expect(response).to have_http_status(:unprocessable_entity) context 'with no Twitter app' do
expect(json_response).to include('error' => 'No twitter app configured!') include_examples 'for failure cases' do
let(:status) { :unprocessable_entity }
let(:error_message) { 'No twitter app configured!' }
end end
end end
context 'with invalid credentials, via request params' do context 'with invalid Twitter app (configured with invalid credentials)' do
it 'returns 422 unprocessable entity with internal (Zammad) error' do let!(:twitter_credential) { create(:twitter_credential, :invalid) }
get '/api/v1/external_credentials/twitter/link_account', params: invalid_credentials, as: :json
expect(response).to have_http_status(:unprocessable_entity) include_examples 'for failure cases' do
expect(json_response).to include('error' => 'No twitter app configured!') let(:status) { :internal_server_error }
let(:error_message) { '401 Authorization Required' }
end end
end end
context 'with invalid credentials, via ExternalCredential record' do context 'with a valid Twitter app but misconfigured callback URL' do
before { create(:twitter_credential, credentials: invalid_credentials) } let!(:twitter_credential) { create(:twitter_credential) }
it 'returns 500 with remote (Twitter auth) error', :use_vcr do include_examples 'for failure cases' do
get '/api/v1/external_credentials/twitter/link_account', as: :json let(:status) { :internal_server_error }
let(:error_message) { <<~ERR.chomp }
expect(response).to have_http_status(:internal_server_error) 403 Forbidden, maybe credentials wrong or callback_url for application wrong configured.
expect(json_response).to include('error' => '401 Authorization Required') ERR
end end
end end
context 'with a valid Twitter app and callback URL' do
let!(:twitter_credential) { create(:twitter_credential) }
include_context 'for callback URL configuration'
it 'requests OAuth request token from Twitter API' do
send(*endpoint, as: :json)
expect(WebMock)
.to have_requested(:post, 'https://api.twitter.com/oauth/request_token')
.with(headers: { 'Authorization' => /oauth_consumer_key="#{twitter_credential.credentials[:consumer_key]}"/ } )
end
it 'redirects to Twitter authorization URL' do
send(*endpoint, as: :json)
expect(response).to redirect_to(%r{^https://api.twitter.com/oauth/authorize\?oauth_token=\w+$})
end
it 'saves request token to session hash' do
send(*endpoint, as: :json)
expect(session[:request_token]).to be_a(OAuth::RequestToken)
end
end end
end end
describe '#callback' do describe 'GET /api/v1/external_credentials/twitter/callback' do
describe 'failure cases' do let(:endpoint) { [:get, '/api/v1/external_credentials/twitter/callback'] }
context 'with no credentials' do
it 'returns 422 unprocessable entity with internal (Zammad) error' do
get '/api/v1/external_credentials/twitter/callback', as: :json
expect(response).to have_http_status(:unprocessable_entity) context 'with no Twitter app' do
expect(json_response).to include('error' => 'No twitter app configured!') include_examples 'for failure cases' do
let(:status) { :unprocessable_entity }
let(:error_message) { 'No twitter app configured!' }
end end
end end
context 'with invalid credentials, via request params' do context 'with valid Twitter app but no request token' do
it 'returns 422 unprocessable entity with internal (Zammad) error' do let!(:twitter_credential) { create(:twitter_credential) }
get '/api/v1/external_credentials/twitter/callback', params: invalid_credentials, as: :json
expect(response).to have_http_status(:unprocessable_entity) include_examples 'for failure cases' do
expect(json_response).to include('error' => 'No twitter app configured!') let(:status) { :unprocessable_entity }
let(:error_message) { 'No request_token for session found!' }
end end
end end
context 'with invalid credentials, via ExternalCredential record' do context 'with valid Twitter app and request token but non-matching OAuth token (via params)' do
before { create(:twitter_credential, credentials: invalid_credentials) } include_context 'for callback URL configuration'
it 'returns 422 unprocessable entity with internal (Zammad) error' do let!(:twitter_credential) { create(:twitter_credential) }
get '/api/v1/external_credentials/twitter/callback', as: :json
expect(response).to have_http_status(:unprocessable_entity) before { get '/api/v1/external_credentials/twitter/link_account', as: :json }
expect(json_response).to include('error' => 'No request_token for session found!')
include_examples 'for failure cases' do
let(:status) { :unprocessable_entity }
let(:error_message) { 'Invalid oauth_token given!' }
end end
end end
# NOTE: Want to delete/regenerate the VCR cassettes for these examples?
# It's gonna be messy--each one is actually two cassettes merged into one.
#
# Why? The OAuth flow can't be fully reproduced in a request spec:
#
# 1. User clicks "Add Twitter account" in Zammad.
# Zammad asks Twitter for request token, saves it to session,
# and redirects user to Twitter.
# 2. User clicks "Authorize app" on Twitter.
# Twitter generates temporary OAuth credentials
# and redirects user back to this endpoint (with creds in URL query string).
# 3. Zammad asks Twitter for an access token
# (using request token from Step 1 + OAuth creds from Step 2).
#
# In these tests (Step 2), the user hits this endpoint
# with parameters that ONLY the Twitter OAuth server can generate.
# In the VCR cassette for Step 3,
# Zammad sends these parameters back to Twitter for validation.
# Without valid credentials in Step 2, Step 3 will always fail.
#
# Instead, we have to record the VCR cassette in a live development instance
# and stitch the cassette together with a cassette for Step 1.
#
# tl;dr A feature spec might have made more sense here.
context 'with valid Twitter app, request token, and matching OAuth token (via params)' do
include_context 'for callback URL configuration'
let!(:twitter_credential) { create(:twitter_credential) }
# For illustrative purposes only.
# These parameters cannot be used to record a new VCR cassette (see note above).
let(:params) { { oauth_token: oauth_token, oauth_verifier: oauth_verifier } }
let(:oauth_token) { 'DyhnyQAAAAAA9CNXAAABcSxAexs' }
let(:oauth_verifier) { '15DOeRkjP4JkOSVqULkTKA1SCuIPP105' }
before { get '/api/v1/external_credentials/twitter/link_account', as: :json }
context 'if Twitter account has already been added' do
let!(:channel) { create(:twitter_channel, custom_options: channel_options) }
let(:channel_options) do
{
user: {
id: '1205290247124217856',
screen_name: 'pennbrooke1',
}
}
end
it 'uses the existing channel' do
expect { send(*endpoint, as: :json, params: params) }
.not_to change(Channel, :count)
end
it 'updates channel properties' do
expect { send(*endpoint, as: :json, params: params) }
.to change { channel.reload.options[:user][:name] }
.and change { channel.reload.options[:auth][:external_credential_id] }
.and change { channel.reload.options[:auth][:oauth_token] }
.and change { channel.reload.options[:auth][:oauth_token_secret] }
end
it 'subscribes to webhooks' do
send(*endpoint, as: :json, params: params)
expect(WebMock)
.to have_requested(:post, "https://api.twitter.com/1.1/account_activity/all/#{twitter_credential.credentials[:env]}/subscriptions.json")
expect(channel.reload.options['subscribed_to_webhook_id'])
.to eq(twitter_credential.credentials[:webhook_id])
end
end
it 'creates a new channel' do
expect { send(*endpoint, as: :json, params: params) }
.to change(Channel, :count).by(1)
expect(Channel.last.options)
.to include('adapter' => 'twitter')
.and include('user' => hash_including('id', 'screen_name', 'name'))
.and include('auth' => hash_including('external_credential_id', 'oauth_token', 'oauth_token_secret'))
end
it 'redirects to the newly created channel' do
send(*endpoint, as: :json, params: params)
expect(response).to redirect_to(%r{/#channels/twitter/#{Channel.last.id}$})
end
it 'clears the :request_token session variable' do
send(*endpoint, as: :json, params: params)
expect(session[:request_token]).to be(nil)
end
it 'subscribes to webhooks' do
send(*endpoint, as: :json, params: params)
expect(WebMock)
.to have_requested(:post, "https://api.twitter.com/1.1/account_activity/all/#{twitter_credential.credentials[:env]}/subscriptions.json")
expect(Channel.last.options['subscribed_to_webhook_id'])
.to eq(twitter_credential.credentials[:webhook_id])
end
end end
end end
end end

View file

@ -0,0 +1,312 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="cRQcN4SYlNvQmxLERXdkHw0b8WkgopWyZfshYZ0bQ5c",
oauth_signature="1QKjkAywyA9C28RyxllXH4I%2B8dk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562755", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 10:05:59 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 10:05:59 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556275926104897; Max-Age=63072000; Expires=Wed, 30 Mar 2022
10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_2VPPoqwsc7qTrmUTl7TOqQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d5c96afbba7d4a8d9767a2520f1014b9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00d90bb200263ca8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DyhnyQAAAAAA9CNXAAABcSxAexs&oauth_token_secret=ubeISX6MlS1PTPAp8udaQ2yRqHlNWdCf&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 10:05:59 GMT
- request:
method: post
uri: https://api.twitter.com/oauth/access_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="2Wj2SwZSjbQpBx5pgSqAcwXuREAZCW9cYk7IgK79M",
oauth_signature="zv4lFCYM8OgJleXMzjSrh6bkzb4%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585442", oauth_token="DyhnyQAAAAAA9CNXAAABcSxAexs", oauth_verifier="15DOeRkjP4JkOSVqULkTKA1SCuIPP105",
oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '174'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:03 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:03 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544330530048; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_r1gFYSkkPVRlfj2/S3iBhA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 4c532e72e52e91a920ec7ede1d738a7d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '437'
X-Transaction:
- 002d00030028d5ad
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=REDACTED&oauth_token_secret=6Izq6rCcuJs07inPgc7oMVbq0sjLzuxFLcRq2gp5ulJQW&user_id=1205290247124217856&screen_name=pennbrooke1
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:03 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account/verify_credentials.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d8377bbeda339f59394d528d368c5bd6",
oauth_signature="665K11LI%2FY0%2BZrf0AD%2BPJnrehVY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585443", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '1928'
Content-Type:
- application/json;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:04 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:04 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544430987067; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- lang=en; Path=/
- personalization_id="v1_KepQ+bqW3x/y43slZzYqcA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Access-Level:
- read-write-directmessages
X-Connection-Hash:
- fe7eed972598e46753f044b0f5f1c34e
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '75'
X-Rate-Limit-Remaining:
- '72'
X-Rate-Limit-Reset:
- '1585585445'
X-Response-Time:
- '155'
X-Transaction:
- 00d3169e00a6aa44
X-Twitter-Response-Tags:
- BouncerCompliant
- BouncerExempt
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":20,"lang":null,"status":{"created_at":"Thu
Mar 12 06:57:32 +0000 2020","id":1237996127103811584,"id_str":"1237996127103811584","text":"zammadzammadzammad","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"lv"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","suspended":false,"needs_phone_verification":false}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:04 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/subscriptions.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="97f965f030c78cf792bd551bd8252d16",
oauth_signature="bTbM1ut0%2Bly3dtA6MqArPRq3wYk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585444", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 409
message: Conflict
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '66'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:05 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:05 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544515442211; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_I7zU3t0hJJakpotS4JM6yQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b195905c1f696c9a9fc408e990adc77d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '130'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":355,"message":"Subscription already exists."}]}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:05 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,312 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="cRQcN4SYlNvQmxLERXdkHw0b8WkgopWyZfshYZ0bQ5c",
oauth_signature="1QKjkAywyA9C28RyxllXH4I%2B8dk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562755", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 10:05:59 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 10:05:59 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556275926104897; Max-Age=63072000; Expires=Wed, 30 Mar 2022
10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_2VPPoqwsc7qTrmUTl7TOqQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d5c96afbba7d4a8d9767a2520f1014b9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00d90bb200263ca8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DyhnyQAAAAAA9CNXAAABcSxAexs&oauth_token_secret=ubeISX6MlS1PTPAp8udaQ2yRqHlNWdCf&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 10:05:59 GMT
- request:
method: post
uri: https://api.twitter.com/oauth/access_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="2Wj2SwZSjbQpBx5pgSqAcwXuREAZCW9cYk7IgK79M",
oauth_signature="zv4lFCYM8OgJleXMzjSrh6bkzb4%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585442", oauth_token="DyhnyQAAAAAA9CNXAAABcSxAexs", oauth_verifier="15DOeRkjP4JkOSVqULkTKA1SCuIPP105",
oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '174'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:03 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:03 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544330530048; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_r1gFYSkkPVRlfj2/S3iBhA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 4c532e72e52e91a920ec7ede1d738a7d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '437'
X-Transaction:
- 002d00030028d5ad
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=1205290247124217856-REDACTED&oauth_token_secret=6Izq6rCcuJs07inPgc7oMVbq0sjLzuxFLcRq2gp5ulJQW&user_id=1205290247124217856&screen_name=pennbrooke1
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:03 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account/verify_credentials.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d8377bbeda339f59394d528d368c5bd6",
oauth_signature="665K11LI%2FY0%2BZrf0AD%2BPJnrehVY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585443", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '1928'
Content-Type:
- application/json;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:04 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:04 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544430987067; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- lang=en; Path=/
- personalization_id="v1_KepQ+bqW3x/y43slZzYqcA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Access-Level:
- read-write-directmessages
X-Connection-Hash:
- fe7eed972598e46753f044b0f5f1c34e
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '75'
X-Rate-Limit-Remaining:
- '72'
X-Rate-Limit-Reset:
- '1585585445'
X-Response-Time:
- '155'
X-Transaction:
- 00d3169e00a6aa44
X-Twitter-Response-Tags:
- BouncerCompliant
- BouncerExempt
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":20,"lang":null,"status":{"created_at":"Thu
Mar 12 06:57:32 +0000 2020","id":1237996127103811584,"id_str":"1237996127103811584","text":"zammadzammadzammad","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"lv"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","suspended":false,"needs_phone_verification":false}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:04 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/subscriptions.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="97f965f030c78cf792bd551bd8252d16",
oauth_signature="bTbM1ut0%2Bly3dtA6MqArPRq3wYk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585444", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 409
message: Conflict
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '66'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:05 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:05 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544515442211; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_I7zU3t0hJJakpotS4JM6yQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b195905c1f696c9a9fc408e990adc77d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '130'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":355,"message":"Subscription already exists."}]}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:05 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,312 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="cRQcN4SYlNvQmxLERXdkHw0b8WkgopWyZfshYZ0bQ5c",
oauth_signature="1QKjkAywyA9C28RyxllXH4I%2B8dk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562755", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 10:05:59 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 10:05:59 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556275926104897; Max-Age=63072000; Expires=Wed, 30 Mar 2022
10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_2VPPoqwsc7qTrmUTl7TOqQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d5c96afbba7d4a8d9767a2520f1014b9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00d90bb200263ca8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DyhnyQAAAAAA9CNXAAABcSxAexs&oauth_token_secret=ubeISX6MlS1PTPAp8udaQ2yRqHlNWdCf&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 10:05:59 GMT
- request:
method: post
uri: https://api.twitter.com/oauth/access_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="2Wj2SwZSjbQpBx5pgSqAcwXuREAZCW9cYk7IgK79M",
oauth_signature="zv4lFCYM8OgJleXMzjSrh6bkzb4%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585442", oauth_token="DyhnyQAAAAAA9CNXAAABcSxAexs", oauth_verifier="15DOeRkjP4JkOSVqULkTKA1SCuIPP105",
oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '174'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:03 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:03 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544330530048; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_r1gFYSkkPVRlfj2/S3iBhA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 4c532e72e52e91a920ec7ede1d738a7d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '437'
X-Transaction:
- 002d00030028d5ad
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=REDACTED&oauth_token_secret=6Izq6rCcuJs07inPgc7oMVbq0sjLzuxFLcRq2gp5ulJQW&user_id=1205290247124217856&screen_name=pennbrooke1
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:03 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account/verify_credentials.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d8377bbeda339f59394d528d368c5bd6",
oauth_signature="665K11LI%2FY0%2BZrf0AD%2BPJnrehVY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585443", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '1928'
Content-Type:
- application/json;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:04 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:04 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544430987067; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- lang=en; Path=/
- personalization_id="v1_KepQ+bqW3x/y43slZzYqcA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Access-Level:
- read-write-directmessages
X-Connection-Hash:
- fe7eed972598e46753f044b0f5f1c34e
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '75'
X-Rate-Limit-Remaining:
- '72'
X-Rate-Limit-Reset:
- '1585585445'
X-Response-Time:
- '155'
X-Transaction:
- 00d3169e00a6aa44
X-Twitter-Response-Tags:
- BouncerCompliant
- BouncerExempt
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":20,"lang":null,"status":{"created_at":"Thu
Mar 12 06:57:32 +0000 2020","id":1237996127103811584,"id_str":"1237996127103811584","text":"zammadzammadzammad","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"lv"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","suspended":false,"needs_phone_verification":false}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:04 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/subscriptions.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="97f965f030c78cf792bd551bd8252d16",
oauth_signature="bTbM1ut0%2Bly3dtA6MqArPRq3wYk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585444", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 409
message: Conflict
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '66'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:05 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:05 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544515442211; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_I7zU3t0hJJakpotS4JM6yQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b195905c1f696c9a9fc408e990adc77d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '130'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":355,"message":"Subscription already exists."}]}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:05 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,82 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="RSp3OcV1ODEj0R4YSEi4xX5Bi3TeoGjbw9hoZs1k",
oauth_signature="JCzY7lKtru6BqOLGSA7LL46af3U%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584367034", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 16 Mar 2020 13:57:14 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 16 Mar 2020 13:57:14 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158436703465605333; Max-Age=63072000; Expires=Wed, 16 Mar 2022
13:57:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_5AZAnySQIfodLKkImyimdg=="; Max-Age=63072000; Expires=Wed,
16 Mar 2022 13:57:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- bed6dd1f6adade5c2ef747df5ce32bfa
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00c8992000427975
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=1rcK1QAAAAABCFc9AAABcOOiYSs&oauth_token_secret=npBw6dAJxQCVpFzUpcmlz0jkScmiysTK&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 16 Mar 2020 13:57:14 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,82 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="JoMl0wFgjCmgtLpMNWvnxGSBNEJdV8No8LNEczS2d0U",
oauth_signature="q%2BvTAhVMi62idkd4vHFk%2Fpaq43o%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584366932", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '128'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 16 Mar 2020 13:55:32 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 16 Mar 2020 13:55:32 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158436693266223710; Max-Age=63072000; Expires=Wed, 16 Mar 2022
13:55:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_LovT1kuyT4gkNHPUL+9O6g=="; Max-Age=63072000; Expires=Wed,
16 Mar 2022 13:55:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- bfabbced05a4e94816a757d869cfd575
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '180'
X-Transaction:
- '0083912f0005d95b'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=6BpW6AAAAAABCFc9AAABcOOg0sA&oauth_token_secret=LOd9KByBr5ZAKjSAxGYhsiDmgbsnsRxO&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 16 Mar 2020 13:55:32 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,82 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="RSp3OcV1ODEj0R4YSEi4xX5Bi3TeoGjbw9hoZs1k",
oauth_signature="JCzY7lKtru6BqOLGSA7LL46af3U%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584367034", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 16 Mar 2020 13:57:14 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 16 Mar 2020 13:57:14 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158436703465605333; Max-Age=63072000; Expires=Wed, 16 Mar 2022
13:57:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_5AZAnySQIfodLKkImyimdg=="; Max-Age=63072000; Expires=Wed,
16 Mar 2022 13:57:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- bed6dd1f6adade5c2ef747df5ce32bfa
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00c8992000427975
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=1rcK1QAAAAABCFc9AAABcOOiYSs&oauth_token_secret=npBw6dAJxQCVpFzUpcmlz0jkScmiysTK&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 16 Mar 2020 13:57:14 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,78 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="http%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="Rsg8ixONk1XJVdmJAKnkSTVk8YCiynvhdrqXfIhMU",
oauth_signature="KuOrQrs1Ah5xW9hHo28%2FQ%2Fi04tg%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584364934", oauth_version="1.0"
response:
status:
code: 403
message: Forbidden
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '173'
Content-Type:
- application/xml;charset=utf-8
Date:
- Mon, 16 Mar 2020 13:22:15 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 16 Mar 2020 13:22:15 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158436493504625224; Max-Age=63072000; Expires=Wed, 16 Mar 2022
13:22:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_Jn76b6m/dKeCo+E7CcsmbQ=="; Max-Age=63072000; Expires=Wed,
16 Mar 2022 13:22:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 403 Forbidden
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 0d85fc163803f7e0d987629ca430e656
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '109'
X-Transaction:
- 001fa76700e52a67
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: <?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback
URL not approved for this client application. Approved callback URLs can be
adjusted in your application settings</error></errors>
http_version:
recorded_at: Mon, 16 Mar 2020 13:22:15 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,221 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="csPRCe8Nu9cv8FNuxnLrInhnw96JjKTcZwK0HW8Njk",
oauth_signature="snIl5z49RgjhAiQs%2FQxk3kA%2FXtk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946407", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 23 Mar 2020 06:53:28 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:53:28 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494640855835907; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:53:28 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_0zvtRwIZbniQqVSLo6XdbQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:53:28 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- f86b366038f347fcd3bba565fd31387f
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '174'
X-Transaction:
- '008597c000517be9'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=dMaNHgAAAAAA9CNXAAABcQYq7Hg&oauth_token_secret=d9QXHdi5FXmJjA1NZwKJBvvYh3tyv5IE&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 23 Mar 2020 06:53:28 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="942e58699c99fd8bd9ba1cd69942f14f",
oauth_signature="O3JqHZhT8NsLR7yAA1QHIyxFVBw%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946408", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '159'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:53:29 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:53:29 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494640936571915; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:53:29 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_/ujsZ3ysdevr5v1b89RLmA=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:53:29 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 3a297b509badf9dde9b3bd63225f2460
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '11'
X-Rate-Limit-Reset:
- '1584946869'
X-Response-Time:
- '129'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '[{"id":"1241980494134145024","url":"https://zammad.example.com/api/v1/channels_twitter_webhook","valid":false,"created_timestamp":"2020-03-23
06:50:00 +0000"}]'
http_version:
recorded_at: Mon, 23 Mar 2020 06:53:29 GMT
- request:
method: put
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks/1241980494134145024.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="0e68c87513ac6d73759d3d581842342a",
oauth_signature="yJoLurGrHTs20uGEsm3uDEBgwUE%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946414", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 204
message: No Content
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Length:
- '0'
Date:
- Mon, 23 Mar 2020 06:53:36 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:53:36 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494641515025640; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:53:36 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_sOQIzWywRzjCDnBIeqxEvw=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:53:36 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- f79cb739010ea5fa189afc005a998ebd
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '1192'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: ''
http_version:
recorded_at: Mon, 23 Mar 2020 06:53:36 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,221 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="csPRCe8Nu9cv8FNuxnLrInhnw96JjKTcZwK0HW8Njk",
oauth_signature="snIl5z49RgjhAiQs%2FQxk3kA%2FXtk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946407", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 23 Mar 2020 06:53:28 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:53:28 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494640855835907; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:53:28 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_0zvtRwIZbniQqVSLo6XdbQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:53:28 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- f86b366038f347fcd3bba565fd31387f
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '174'
X-Transaction:
- '008597c000517be9'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=dMaNHgAAAAAA9CNXAAABcQYq7Hg&oauth_token_secret=d9QXHdi5FXmJjA1NZwKJBvvYh3tyv5IE&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 23 Mar 2020 06:53:28 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="942e58699c99fd8bd9ba1cd69942f14f",
oauth_signature="O3JqHZhT8NsLR7yAA1QHIyxFVBw%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946408", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '159'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:53:29 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:53:29 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494640936571915; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:53:29 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_/ujsZ3ysdevr5v1b89RLmA=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:53:29 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 3a297b509badf9dde9b3bd63225f2460
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '11'
X-Rate-Limit-Reset:
- '1584946869'
X-Response-Time:
- '129'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '[{"id":"1241980494134145024","url":"https://zammad.example.com/api/v1/channels_twitter_webhook","valid":false,"created_timestamp":"2020-03-23
06:50:00 +0000"}]'
http_version:
recorded_at: Mon, 23 Mar 2020 06:53:29 GMT
- request:
method: put
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks/1241980494134145024.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="0e68c87513ac6d73759d3d581842342a",
oauth_signature="yJoLurGrHTs20uGEsm3uDEBgwUE%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946414", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 204
message: No Content
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Length:
- '0'
Date:
- Mon, 23 Mar 2020 06:53:36 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:53:36 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494641515025640; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:53:36 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_sOQIzWywRzjCDnBIeqxEvw=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:53:36 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- f79cb739010ea5fa189afc005a998ebd
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '1192'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: ''
http_version:
recorded_at: Mon, 23 Mar 2020 06:53:36 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,156 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="R8pami8MAZxueiWHbeHGElRu1eKkqlx1EMWzIMBak4",
oauth_signature="4YqicQdmoR%2FPy%2BWoNuYM7Ju5i5o%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946227", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 23 Mar 2020 06:50:27 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:50:27 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494622759890078; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:50:27 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_H5QcZwbsYs17rlHYr0H+vQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:50:27 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 83386731bc9de977648afc912027179c
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '173'
X-Transaction:
- 00f539ea00e120fb
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=cUJTzgAAAAAA9CNXAAABcQYoKZg&oauth_token_secret=VmKRBVKJhSgWG3lDkGEs05S3hUipFCFT&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 23 Mar 2020 06:50:27 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="7340c22f098c47bf11dd02b86b7ae4ee",
oauth_signature="xImjBG5HNm1qIr2W1vfPfNXI2ZU%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946227", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '159'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:50:28 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:50:28 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494622852377372; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:50:28 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_QVDADsPO7IEd2c2pSzqnlQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:50:28 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- f55ffd0a92717898db5d39594134bfc7
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '12'
X-Rate-Limit-Reset:
- '1584946869'
X-Response-Time:
- '129'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '[{"id":"1241980494134145024","url":"https://zammad.example.com/api/v1/channels_twitter_webhook","valid":true,"created_timestamp":"2020-03-23
06:50:00 +0000"}]'
http_version:
recorded_at: Mon, 23 Mar 2020 06:50:28 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,156 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="R8pami8MAZxueiWHbeHGElRu1eKkqlx1EMWzIMBak4",
oauth_signature="4YqicQdmoR%2FPy%2BWoNuYM7Ju5i5o%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946227", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 23 Mar 2020 06:50:27 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:50:27 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494622759890078; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:50:27 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_H5QcZwbsYs17rlHYr0H+vQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:50:27 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 83386731bc9de977648afc912027179c
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '173'
X-Transaction:
- 00f539ea00e120fb
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=cUJTzgAAAAAA9CNXAAABcQYoKZg&oauth_token_secret=VmKRBVKJhSgWG3lDkGEs05S3hUipFCFT&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 23 Mar 2020 06:50:27 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="7340c22f098c47bf11dd02b86b7ae4ee",
oauth_signature="xImjBG5HNm1qIr2W1vfPfNXI2ZU%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946227", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '159'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:50:28 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:50:28 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494622852377372; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:50:28 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_QVDADsPO7IEd2c2pSzqnlQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:50:28 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- f55ffd0a92717898db5d39594134bfc7
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '12'
X-Rate-Limit-Reset:
- '1584946869'
X-Response-Time:
- '129'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '[{"id":"1241980494134145024","url":"https://zammad.example.com/api/v1/channels_twitter_webhook","valid":true,"created_timestamp":"2020-03-23
06:50:00 +0000"}]'
http_version:
recorded_at: Mon, 23 Mar 2020 06:50:28 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,291 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="VRoBaTlqUNONRdoijJHa6EOqLUm3byplijFPiq89rk",
oauth_signature="WdhBR4eYTroYsTDILrvXuI0XkiQ%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946494", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '128'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 23 Mar 2020 06:54:55 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:54:55 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494649546445555; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:54:55 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_YhVmFXgqJqhoo/vskWqjig=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:54:55 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 0024fe0912dac2a5dc844ca38452d061
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '175'
X-Transaction:
- '0079b5ea00ca607b'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=ROuVpAAAAAAA9CNXAAABcQYsP_I&oauth_token_secret=DxU3Sug0XWisEguI1V1sKLCtagoN4H9n&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 23 Mar 2020 06:54:55 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="4d73297b8c1c4b53c4da233d5c84450d",
oauth_signature="jFTdr8438fxw6izLvwu%2B8vG71wY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946495", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '159'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:54:56 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:54:56 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494649637073312; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:54:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_eXer39NQ1Q4OV5hhtjRCfw=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:54:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d3cf054bb409d406e78f3eceb68dbc87
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '10'
X-Rate-Limit-Reset:
- '1584946869'
X-Response-Time:
- '120'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '[{"id":"1241981813595049984","url":"https://other-twitter-consumer.example.com/api/v1/channels_twitter_webhook","valid":true,"created_timestamp":"2020-03-23
06:50:00 +0000"}]'
http_version:
recorded_at: Mon, 23 Mar 2020 06:54:56 GMT
- request:
method: delete
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks/1241981813595049984.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="e01c43b32c7cc9a40ae38ed9160d4270",
oauth_signature="TYA3fOVQFJaroBPv%2BxcexVsf0pA%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946512", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 204
message: No Content
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Length:
- '0'
Date:
- Mon, 23 Mar 2020 06:55:13 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:55:13 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494651315115177; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:55:13 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_d2nHwUq5dbpmvAGtFTL49w=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:55:13 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 43d344188e5cd1359cc494ca68e3a148
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '134'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: ''
http_version:
recorded_at: Mon, 23 Mar 2020 06:55:13 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: url=https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fchannels_twitter_webhook
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="544efdb5ca2de8d67c7dc24824b454b1",
oauth_signature="0InLZ8JHpAiDPZdmAHGXJSEGxiU%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946513", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '157'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:55:14 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:55:14 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494651390957301; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:55:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_b5rZAeBdcvz00R6KTtRpFQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:55:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 3654669d75d05854cb54a51031c58246
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '968'
X-Tsa-Request-Body-Time:
- '0'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":"1241980494134145024","url":"https://zammad.example.com/api/v1/channels_twitter_webhook","valid":true,"created_timestamp":"2020-03-23
06:55:14 +0000"}'
http_version:
recorded_at: Mon, 23 Mar 2020 06:55:14 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,291 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="VRoBaTlqUNONRdoijJHa6EOqLUm3byplijFPiq89rk",
oauth_signature="WdhBR4eYTroYsTDILrvXuI0XkiQ%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946494", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '128'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 23 Mar 2020 06:54:55 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:54:55 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494649546445555; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:54:55 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_YhVmFXgqJqhoo/vskWqjig=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:54:55 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 0024fe0912dac2a5dc844ca38452d061
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '175'
X-Transaction:
- '0079b5ea00ca607b'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=ROuVpAAAAAAA9CNXAAABcQYsP_I&oauth_token_secret=DxU3Sug0XWisEguI1V1sKLCtagoN4H9n&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 23 Mar 2020 06:54:55 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="4d73297b8c1c4b53c4da233d5c84450d",
oauth_signature="jFTdr8438fxw6izLvwu%2B8vG71wY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946495", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '159'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:54:56 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:54:56 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494649637073312; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:54:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_eXer39NQ1Q4OV5hhtjRCfw=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:54:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d3cf054bb409d406e78f3eceb68dbc87
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '10'
X-Rate-Limit-Reset:
- '1584946869'
X-Response-Time:
- '120'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '[{"id":"1241981813595049984","url":"https://other-twitter-consumer.example.com/api/v1/channels_twitter_webhook","valid":true,"created_timestamp":"2020-03-23
06:50:00 +0000"}]'
http_version:
recorded_at: Mon, 23 Mar 2020 06:54:56 GMT
- request:
method: delete
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks/1241981813595049984.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="e01c43b32c7cc9a40ae38ed9160d4270",
oauth_signature="TYA3fOVQFJaroBPv%2BxcexVsf0pA%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946512", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 204
message: No Content
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Length:
- '0'
Date:
- Mon, 23 Mar 2020 06:55:13 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:55:13 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494651315115177; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:55:13 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_d2nHwUq5dbpmvAGtFTL49w=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:55:13 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 43d344188e5cd1359cc494ca68e3a148
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '134'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: ''
http_version:
recorded_at: Mon, 23 Mar 2020 06:55:13 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: url=https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fchannels_twitter_webhook
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="544efdb5ca2de8d67c7dc24824b454b1",
oauth_signature="0InLZ8JHpAiDPZdmAHGXJSEGxiU%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946513", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '157'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:55:14 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:55:14 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494651390957301; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:55:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_b5rZAeBdcvz00R6KTtRpFQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:55:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 3654669d75d05854cb54a51031c58246
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '968'
X-Tsa-Request-Body-Time:
- '0'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":"1241980494134145024","url":"https://zammad.example.com/api/v1/channels_twitter_webhook","valid":true,"created_timestamp":"2020-03-23
06:55:14 +0000"}'
http_version:
recorded_at: Mon, 23 Mar 2020 06:55:14 GMT
recorded_with: VCR 4.0.0

View file

@ -1,76 +0,0 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.3
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="http%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="123", oauth_nonce="0ZvmCFseUeq6QZxGhuzQxLiyty2UErgeVcdRPOk",
oauth_signature="Ps3iBseIQuh0ERb%2F7tEfFBERbwA%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1543582246", oauth_version="1.0"
response:
status:
code: 401
message: Authorization Required
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '89'
Content-Type:
- application/json; charset=utf-8
Date:
- Fri, 30 Nov 2018 12:50:47 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Fri, 30 Nov 2018 12:50:47 GMT
Pragma:
- no-cache
Server:
- tsa_o
Set-Cookie:
- guest_id=v1%3A154358224734601031; Expires=Sun, 29 Nov 2020 12:50:47 GMT; Path=/;
Domain=.twitter.com
- personalization_id="v1_QoTam409bMc8TzMu10F/CA=="; Expires=Sun, 29 Nov 2020
12:50:47 GMT; Path=/; Domain=.twitter.com
Status:
- 401 Unauthorized
Strict-Transport-Security:
- max-age=631138519
Www-Authenticate:
- OAuth realm="https://api.twitter.com"
X-Connection-Hash:
- 2ac9b707f5cdd229664772dc9d4a5a8b
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '120'
X-Transaction:
- 00d9dad60073e68c
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- 1; mode=block; report=https://twitter.com/i/xss_report
body:
encoding: ASCII-8BIT
string: '{"errors":[{"code":32,"message":"Could not authenticate you."}]}'
http_version:
recorded_at: Fri, 30 Nov 2018 12:50:47 GMT
recorded_with: VCR 4.0.0

View file

@ -17,9 +17,9 @@ http_interactions:
- '0' - '0'
Authorization: Authorization:
- OAuth oauth_callback="http%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback", - OAuth oauth_callback="http%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="123", oauth_nonce="f1YmStPaUKxHSrCJCbN4LEBvGhjPs41P9rFzOrnhqc", oauth_consumer_key="q7K8GEkhyCHs9jHLtkmD9Kod4", oauth_nonce="inxkJCcGw8CXKPAR7zPUyKtg64WHnP8IFy00IhEUdk",
oauth_signature="mPMYvS8A4FiTPhxPDlFB%2FGF0X2U%3D", oauth_signature_method="HMAC-SHA1", oauth_signature="Whmfth%2F6dL9gIR2wtw6Q24kCP5w%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1573570318", oauth_version="1.0" oauth_timestamp="1584364824", oauth_version="1.0"
response: response:
status: status:
code: 401 code: 401
@ -34,20 +34,20 @@ http_interactions:
Content-Type: Content-Type:
- application/json; charset=utf-8 - application/json; charset=utf-8
Date: Date:
- Tue, 12 Nov 2019 14:51:59 GMT - Mon, 16 Mar 2020 13:20:25 GMT
Expires: Expires:
- Tue, 31 Mar 1981 05:00:00 GMT - Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified: Last-Modified:
- Tue, 12 Nov 2019 14:51:58 GMT - Mon, 16 Mar 2020 13:20:25 GMT
Pragma: Pragma:
- no-cache - no-cache
Server: Server:
- tsa_m - tsa_m
Set-Cookie: Set-Cookie:
- guest_id=v1%3A157357031898209376; Max-Age=63072000; Expires=Thu, 11 Nov 2021 - guest_id=v1%3A158436482527178006; Max-Age=63072000; Expires=Wed, 16 Mar 2022
14:51:58 GMT; Path=/; Domain=.twitter.com 13:20:25 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_jB1SWZRvZIk1S63ok8jVog=="; Max-Age=63072000; Expires=Thu, - personalization_id="v1_xDsuGTHoxq4DzimsOj3SQA=="; Max-Age=63072000; Expires=Wed,
11 Nov 2021 14:51:58 GMT; Path=/; Domain=.twitter.com 16 Mar 2022 13:20:25 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status: Status:
- 401 Unauthorized - 401 Unauthorized
Strict-Transport-Security: Strict-Transport-Security:
@ -55,15 +55,15 @@ http_interactions:
Www-Authenticate: Www-Authenticate:
- OAuth realm="https://api.twitter.com" - OAuth realm="https://api.twitter.com"
X-Connection-Hash: X-Connection-Hash:
- a4ba44ed62e7eb6cb9503b492304013e - 7b48cea34f4491a7dc48fa31a6b4b056
X-Content-Type-Options: X-Content-Type-Options:
- nosniff - nosniff
X-Frame-Options: X-Frame-Options:
- SAMEORIGIN - SAMEORIGIN
X-Response-Time: X-Response-Time:
- '103' - '106'
X-Transaction: X-Transaction:
- '009c9ec5003d9011' - 00f72d7200ca3a92
X-Twitter-Response-Tags: X-Twitter-Response-Tags:
- BouncerCompliant - BouncerCompliant
X-Xss-Protection: X-Xss-Protection:
@ -72,5 +72,5 @@ http_interactions:
encoding: ASCII-8BIT encoding: ASCII-8BIT
string: '{"errors":[{"code":32,"message":"Could not authenticate you."}]}' string: '{"errors":[{"code":32,"message":"Could not authenticate you."}]}'
http_version: http_version:
recorded_at: Tue, 12 Nov 2019 14:51:59 GMT recorded_at: Mon, 16 Mar 2020 13:20:25 GMT
recorded_with: VCR 4.0.0 recorded_with: VCR 4.0.0

View file

@ -0,0 +1,227 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="WEdVRwqANFvd88F7XT20hb9Gy2sX9SUOHO2OjuDy5s",
oauth_signature="5FxCmPjUhhonf8z91c0zjdva17g%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946195", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '128'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 23 Mar 2020 06:49:56 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:49:56 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494619670369961; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:49:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_gRE63FsGkhU+oWr6ym/cmQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:49:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- bf1be9b449b09c27118e03154030d2c1
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '182'
X-Transaction:
- 0041a72a0055a246
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=Zh216AAAAAAA9CNXAAABcQYnsOw&oauth_token_secret=yo7psG4mpdPWyukpnmu1vWRt4Tz8WGtr&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 23 Mar 2020 06:49:56 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="3e01a769626bdda6a2a486523c5ecc88",
oauth_signature="ziL70P7MK8c1fQb48VDq90l7nVo%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946196", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '2'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:49:57 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:49:57 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494619764550785; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:49:57 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_VhuMvUna18W18fWDGh4/7A=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:49:57 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 0fb10d92512f1a9c56d292d6b53ae39d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '13'
X-Rate-Limit-Reset:
- '1584946869'
X-Response-Time:
- '127'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: "[]"
http_version:
recorded_at: Mon, 23 Mar 2020 06:49:57 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: url=https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fchannels_twitter_webhook
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="30b043964594269685a4f012b7e8dee9",
oauth_signature="2Cjq%2BkPsg9t16de7RxT%2BpSHd4Vs%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946198", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '157'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:50:00 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:50:00 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494619932180099; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:50:00 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_j3+Q2dBVsNiOGIBfS4inpg=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:50:00 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 0adde24aa0bdba3982ff7fca82228752
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '1002'
X-Tsa-Request-Body-Time:
- '0'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":"1241980494134145024","url":"https://zammad.example.com/api/v1/channels_twitter_webhook","valid":true,"created_timestamp":"2020-03-23
06:50:00 +0000"}'
http_version:
recorded_at: Mon, 23 Mar 2020 06:50:00 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,227 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="WEdVRwqANFvd88F7XT20hb9Gy2sX9SUOHO2OjuDy5s",
oauth_signature="5FxCmPjUhhonf8z91c0zjdva17g%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946195", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '128'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 23 Mar 2020 06:49:56 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:49:56 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494619670369961; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:49:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_gRE63FsGkhU+oWr6ym/cmQ=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:49:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- bf1be9b449b09c27118e03154030d2c1
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '182'
X-Transaction:
- 0041a72a0055a246
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=Zh216AAAAAAA9CNXAAABcQYnsOw&oauth_token_secret=yo7psG4mpdPWyukpnmu1vWRt4Tz8WGtr&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 23 Mar 2020 06:49:56 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="3e01a769626bdda6a2a486523c5ecc88",
oauth_signature="ziL70P7MK8c1fQb48VDq90l7nVo%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946196", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '2'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:49:57 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:49:57 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494619764550785; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:49:57 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_VhuMvUna18W18fWDGh4/7A=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:49:57 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 0fb10d92512f1a9c56d292d6b53ae39d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '13'
X-Rate-Limit-Reset:
- '1584946869'
X-Response-Time:
- '127'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: "[]"
http_version:
recorded_at: Mon, 23 Mar 2020 06:49:57 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: url=https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fchannels_twitter_webhook
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="30b043964594269685a4f012b7e8dee9",
oauth_signature="2Cjq%2BkPsg9t16de7RxT%2BpSHd4Vs%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584946198", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '157'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 23 Mar 2020 06:50:00 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 23 Mar 2020 06:50:00 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158494619932180099; Max-Age=63072000; Expires=Wed, 23 Mar 2022
06:50:00 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_j3+Q2dBVsNiOGIBfS4inpg=="; Max-Age=63072000; Expires=Wed,
23 Mar 2022 06:50:00 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 0adde24aa0bdba3982ff7fca82228752
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '1002'
X-Tsa-Request-Body-Time:
- '0'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":"1241980494134145024","url":"https://zammad.example.com/api/v1/channels_twitter_webhook","valid":true,"created_timestamp":"2020-03-23
06:50:00 +0000"}'
http_version:
recorded_at: Mon, 23 Mar 2020 06:50:00 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,366 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="JY7lBkhK76dN4XwmWt0fpW76PVZpkOYNNdkJVQvs",
oauth_signature="3LZNJdmWilkaWF8LNJi%2BJ2MoqqY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584809973", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Sat, 21 Mar 2020 16:59:34 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sat, 21 Mar 2020 16:59:34 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158480997456453257; Max-Age=63072000; Expires=Mon, 21 Mar 2022
16:59:34 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_+mW6Nj+Ef5FKaOmpfa/alw=="; Max-Age=63072000; Expires=Mon,
21 Mar 2022 16:59:34 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d525a3286fa3056dd107ac6eeb71e366
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 007ea87f00123004
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DY8E9gAAAAABCFc9AAABcP4JGzI&oauth_token_secret=gAR1aD2RGw3klpbxNtMuwvALohChdLDR&oauth_callback_confirmed=true
http_version:
recorded_at: Sat, 21 Mar 2020 16:59:34 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="f37bedff997ce5964bc6a3b101aba492",
oauth_signature="ttsDqMAySZvanN9nc2ht8dKYSmI%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584809974", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 403
message: Forbidden
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '48'
Content-Type:
- application/json; charset=utf-8
Date:
- Sat, 21 Mar 2020 16:59:35 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sat, 21 Mar 2020 16:59:35 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158480997539935448; Max-Age=63072000; Expires=Mon, 21 Mar 2022
16:59:35 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_hIU9rfKFHfFl54Xqc4isng=="; Max-Age=63072000; Expires=Mon,
21 Mar 2022 16:59:35 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- dd38c9d0b693ae69215ec1f8b3cfedbc
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '14'
X-Rate-Limit-Reset:
- '1584810875'
X-Response-Time:
- '126'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":200,"message":"Forbidden."}]}'
http_version:
recorded_at: Sat, 21 Mar 2020 16:59:35 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d1dc6541ff8ee09d0ac42c447199e5b7",
oauth_signature="1Ca9FsCYSjLZQASFRKshljunPrk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584809986", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 403
message: Forbidden
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '48'
Content-Type:
- application/json; charset=utf-8
Date:
- Sat, 21 Mar 2020 16:59:47 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sat, 21 Mar 2020 16:59:47 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158480998730112300; Max-Age=63072000; Expires=Mon, 21 Mar 2022
16:59:47 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_Fdu/3tNQYPP/xFvfXJbwDg=="; Max-Age=63072000; Expires=Mon,
21 Mar 2022 16:59:47 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- c2d1a9eec6b30f9d082b1da37c2f04d1
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '14'
X-Rate-Limit-Reset:
- '1584810887'
X-Response-Time:
- '121'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":200,"message":"Forbidden."}]}'
http_version:
recorded_at: Sat, 21 Mar 2020 16:59:47 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="081b3d097aca1652183a751202a26335",
oauth_signature="VEdsYoj9vXKN4xrHuC1LFbluM5I%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584810017", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 403
message: Forbidden
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '48'
Content-Type:
- application/json; charset=utf-8
Date:
- Sat, 21 Mar 2020 17:00:18 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sat, 21 Mar 2020 17:00:18 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158481001864282473; Max-Age=63072000; Expires=Mon, 21 Mar 2022
17:00:18 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_ZI2Mgql0H9p9UFGi5gDuGQ=="; Max-Age=63072000; Expires=Mon,
21 Mar 2022 17:00:18 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 74ac96190171b5ae738b44309f54eded
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '13'
X-Rate-Limit-Reset:
- '1584810887'
X-Response-Time:
- '119'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":200,"message":"Forbidden."}]}'
http_version:
recorded_at: Sat, 21 Mar 2020 17:00:18 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/zammad/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="c0cad1a2a978959c5601510938ee43b5",
oauth_signature="EGquSunA7UZQDtWUJ1o0e1jfXiM%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584863384", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 403
message: Forbidden
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '48'
Content-Type:
- application/json; charset=utf-8
Date:
- Sun, 22 Mar 2020 07:49:45 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sun, 22 Mar 2020 07:49:45 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158486338550177879; Max-Age=63072000; Expires=Tue, 22 Mar 2022
07:49:45 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_ACZqBomM69SOVn4DsIhWpg=="; Max-Age=63072000; Expires=Tue,
22 Mar 2022 07:49:45 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 1530861f42dc04780e44eca4ac0493c2
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '14'
X-Rate-Limit-Reset:
- '1584864285'
X-Response-Time:
- '118'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":200,"message":"Forbidden."}]}'
http_version:
recorded_at: Sun, 22 Mar 2020 07:49:45 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,226 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="UUPB8XVJ1NuvAbj3aqyyiIKVMK7ko0BsJsgenHb1g",
oauth_signature="w3x2Z7sLFUR0%2FEVnEUgY%2BjFxArQ%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584863417", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Sun, 22 Mar 2020 07:50:18 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sun, 22 Mar 2020 07:50:18 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158486341853162103; Max-Age=63072000; Expires=Tue, 22 Mar 2022
07:50:18 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_DKWuZi5CRwZ86gs5trb8KQ=="; Max-Age=63072000; Expires=Tue,
22 Mar 2022 07:50:18 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b8ec73ffd179fea5daaa30f3a077692a
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00ba19ed00f1eba8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=FKDDVQAAAAABCFc9AAABcQE4mLA&oauth_token_secret=K4EVN3HlKB5WevblF1xpn9kG89boaVVB&oauth_callback_confirmed=true
http_version:
recorded_at: Sun, 22 Mar 2020 07:50:18 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/foo/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d29100379bb6bac96644adacff4dca44",
oauth_signature="CsldhuESW3DOtaCZulq3qA%2BflGs%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584863418", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 403
message: Forbidden
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '48'
Content-Type:
- application/json; charset=utf-8
Date:
- Sun, 22 Mar 2020 07:50:19 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sun, 22 Mar 2020 07:50:19 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158486341964912319; Max-Age=63072000; Expires=Tue, 22 Mar 2022
07:50:19 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_BxIlCjlAW7oHwqZ/pwLaIQ=="; Max-Age=63072000; Expires=Tue,
22 Mar 2022 07:50:19 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- bed4902b98c59d385f9b8367c481a4dc
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '13'
X-Rate-Limit-Reset:
- '1584864285'
X-Response-Time:
- '135'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":200,"message":"Forbidden."}]}'
http_version:
recorded_at: Sun, 22 Mar 2020 07:50:19 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account_activity/all/webhooks.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="29b521a0e7f13264842b631dbf88ad3c",
oauth_signature="WFtmIEjdyHHJdidWUh5KuocRDrg%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584863419", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '59'
Content-Type:
- application/json; charset=utf-8
Date:
- Sun, 22 Mar 2020 07:50:20 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sun, 22 Mar 2020 07:50:20 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158486342081149704; Max-Age=63072000; Expires=Tue, 22 Mar 2022
07:50:20 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_hme2WiclptVHO6tR4hvfJA=="; Max-Age=63072000; Expires=Tue,
22 Mar 2022 07:50:20 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 2866e6e58948a650df59bb1a35de93d9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '15'
X-Rate-Limit-Remaining:
- '14'
X-Rate-Limit-Reset:
- '1584864320'
X-Response-Time:
- '125'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"environments":[{"environment_name":"zammad","webhooks":[]}]}'
http_version:
recorded_at: Sun, 22 Mar 2020 07:50:21 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,78 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="http%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="nJCf3pHks6WdvL49c9EwvOldiSNZVcBm78QjTTC8",
oauth_signature="b%2B7o2S7eebqcSat9ejl5eg994Yo%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1584809480", oauth_version="1.0"
response:
status:
code: 403
message: Forbidden
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '173'
Content-Type:
- application/xml;charset=utf-8
Date:
- Sat, 21 Mar 2020 16:51:22 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Sat, 21 Mar 2020 16:51:21 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158480948198632109; Max-Age=63072000; Expires=Mon, 21 Mar 2022
16:51:21 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_huputGsbjXeqeEMv8yWoWA=="; Max-Age=63072000; Expires=Mon,
21 Mar 2022 16:51:21 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 403 Forbidden
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 9b4cca102e32ff639f91393c49da27db
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '108'
X-Transaction:
- 006ad3bc000880af
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: <?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback
URL not approved for this client application. Approved callback URLs can be
adjusted in your application settings</error></errors>
http_version:
recorded_at: Sat, 21 Mar 2020 16:51:22 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,82 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="osQnRbjAXQwlKL3HyiIy9qRRLSsaCfeZEjP9tpCKU2g",
oauth_signature="70oe9naxLRBTlWB3iTiDNjl3hYY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562110", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 09:55:11 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 09:55:11 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556211133010327; Max-Age=63072000; Expires=Wed, 30 Mar 2022
09:55:11 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_ZycBeYCs8XZrPuLGIlNJdQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 09:55:11 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 69405d9ca050afeb0102866002c080c4
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- '008c8d0f00cd1be0'
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=scHVjwAAAAABCFc9AAABcSrdzXA&oauth_token_secret=DLhVF0DI6EVecjHobit6rdi4QV2IP55e&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 09:55:11 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,312 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="cRQcN4SYlNvQmxLERXdkHw0b8WkgopWyZfshYZ0bQ5c",
oauth_signature="1QKjkAywyA9C28RyxllXH4I%2B8dk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562755", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 10:05:59 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 10:05:59 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556275926104897; Max-Age=63072000; Expires=Wed, 30 Mar 2022
10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_2VPPoqwsc7qTrmUTl7TOqQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d5c96afbba7d4a8d9767a2520f1014b9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00d90bb200263ca8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DyhnyQAAAAAA9CNXAAABcSxAexs&oauth_token_secret=ubeISX6MlS1PTPAp8udaQ2yRqHlNWdCf&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 10:05:59 GMT
- request:
method: post
uri: https://api.twitter.com/oauth/access_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="2Wj2SwZSjbQpBx5pgSqAcwXuREAZCW9cYk7IgK79M",
oauth_signature="zv4lFCYM8OgJleXMzjSrh6bkzb4%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585442", oauth_token="DyhnyQAAAAAA9CNXAAABcSxAexs", oauth_verifier="15DOeRkjP4JkOSVqULkTKA1SCuIPP105",
oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '174'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:03 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:03 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544330530048; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_r1gFYSkkPVRlfj2/S3iBhA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 4c532e72e52e91a920ec7ede1d738a7d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '437'
X-Transaction:
- 002d00030028d5ad
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=REDACTED&oauth_token_secret=6Izq6rCcuJs07inPgc7oMVbq0sjLzuxFLcRq2gp5ulJQW&user_id=1205290247124217856&screen_name=pennbrooke1
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:03 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account/verify_credentials.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d8377bbeda339f59394d528d368c5bd6",
oauth_signature="665K11LI%2FY0%2BZrf0AD%2BPJnrehVY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585443", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '1928'
Content-Type:
- application/json;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:04 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:04 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544430987067; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- lang=en; Path=/
- personalization_id="v1_KepQ+bqW3x/y43slZzYqcA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Access-Level:
- read-write-directmessages
X-Connection-Hash:
- fe7eed972598e46753f044b0f5f1c34e
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '75'
X-Rate-Limit-Remaining:
- '72'
X-Rate-Limit-Reset:
- '1585585445'
X-Response-Time:
- '155'
X-Transaction:
- 00d3169e00a6aa44
X-Twitter-Response-Tags:
- BouncerCompliant
- BouncerExempt
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":20,"lang":null,"status":{"created_at":"Thu
Mar 12 06:57:32 +0000 2020","id":1237996127103811584,"id_str":"1237996127103811584","text":"zammadzammadzammad","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"lv"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","suspended":false,"needs_phone_verification":false}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:04 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/subscriptions.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="97f965f030c78cf792bd551bd8252d16",
oauth_signature="bTbM1ut0%2Bly3dtA6MqArPRq3wYk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585444", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 409
message: Conflict
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '66'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:05 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:05 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544515442211; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_I7zU3t0hJJakpotS4JM6yQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b195905c1f696c9a9fc408e990adc77d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '130'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":355,"message":"Subscription already exists."}]}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:05 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,312 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="cRQcN4SYlNvQmxLERXdkHw0b8WkgopWyZfshYZ0bQ5c",
oauth_signature="1QKjkAywyA9C28RyxllXH4I%2B8dk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562755", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 10:05:59 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 10:05:59 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556275926104897; Max-Age=63072000; Expires=Wed, 30 Mar 2022
10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_2VPPoqwsc7qTrmUTl7TOqQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d5c96afbba7d4a8d9767a2520f1014b9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00d90bb200263ca8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DyhnyQAAAAAA9CNXAAABcSxAexs&oauth_token_secret=ubeISX6MlS1PTPAp8udaQ2yRqHlNWdCf&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 10:05:59 GMT
- request:
method: post
uri: https://api.twitter.com/oauth/access_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="2Wj2SwZSjbQpBx5pgSqAcwXuREAZCW9cYk7IgK79M",
oauth_signature="zv4lFCYM8OgJleXMzjSrh6bkzb4%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585442", oauth_token="DyhnyQAAAAAA9CNXAAABcSxAexs", oauth_verifier="15DOeRkjP4JkOSVqULkTKA1SCuIPP105",
oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '174'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:03 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:03 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544330530048; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_r1gFYSkkPVRlfj2/S3iBhA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 4c532e72e52e91a920ec7ede1d738a7d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '437'
X-Transaction:
- 002d00030028d5ad
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=REDACTED&oauth_token_secret=6Izq6rCcuJs07inPgc7oMVbq0sjLzuxFLcRq2gp5ulJQW&user_id=1205290247124217856&screen_name=pennbrooke1
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:03 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account/verify_credentials.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d8377bbeda339f59394d528d368c5bd6",
oauth_signature="665K11LI%2FY0%2BZrf0AD%2BPJnrehVY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585443", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '1928'
Content-Type:
- application/json;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:04 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:04 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544430987067; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- lang=en; Path=/
- personalization_id="v1_KepQ+bqW3x/y43slZzYqcA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Access-Level:
- read-write-directmessages
X-Connection-Hash:
- fe7eed972598e46753f044b0f5f1c34e
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '75'
X-Rate-Limit-Remaining:
- '72'
X-Rate-Limit-Reset:
- '1585585445'
X-Response-Time:
- '155'
X-Transaction:
- 00d3169e00a6aa44
X-Twitter-Response-Tags:
- BouncerCompliant
- BouncerExempt
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":20,"lang":null,"status":{"created_at":"Thu
Mar 12 06:57:32 +0000 2020","id":1237996127103811584,"id_str":"1237996127103811584","text":"zammadzammadzammad","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"lv"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","suspended":false,"needs_phone_verification":false}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:04 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/subscriptions.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="97f965f030c78cf792bd551bd8252d16",
oauth_signature="bTbM1ut0%2Bly3dtA6MqArPRq3wYk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585444", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 409
message: Conflict
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '66'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:05 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:05 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544515442211; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_I7zU3t0hJJakpotS4JM6yQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b195905c1f696c9a9fc408e990adc77d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '130'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":355,"message":"Subscription already exists."}]}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:05 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,312 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="cRQcN4SYlNvQmxLERXdkHw0b8WkgopWyZfshYZ0bQ5c",
oauth_signature="1QKjkAywyA9C28RyxllXH4I%2B8dk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562755", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 10:05:59 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 10:05:59 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556275926104897; Max-Age=63072000; Expires=Wed, 30 Mar 2022
10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_2VPPoqwsc7qTrmUTl7TOqQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d5c96afbba7d4a8d9767a2520f1014b9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00d90bb200263ca8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DyhnyQAAAAAA9CNXAAABcSxAexs&oauth_token_secret=ubeISX6MlS1PTPAp8udaQ2yRqHlNWdCf&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 10:05:59 GMT
- request:
method: post
uri: https://api.twitter.com/oauth/access_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="2Wj2SwZSjbQpBx5pgSqAcwXuREAZCW9cYk7IgK79M",
oauth_signature="zv4lFCYM8OgJleXMzjSrh6bkzb4%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585442", oauth_token="DyhnyQAAAAAA9CNXAAABcSxAexs", oauth_verifier="15DOeRkjP4JkOSVqULkTKA1SCuIPP105",
oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '174'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:03 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:03 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544330530048; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_r1gFYSkkPVRlfj2/S3iBhA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 4c532e72e52e91a920ec7ede1d738a7d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '437'
X-Transaction:
- 002d00030028d5ad
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=REDACTED&oauth_token_secret=6Izq6rCcuJs07inPgc7oMVbq0sjLzuxFLcRq2gp5ulJQW&user_id=1205290247124217856&screen_name=pennbrooke1
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:03 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account/verify_credentials.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d8377bbeda339f59394d528d368c5bd6",
oauth_signature="665K11LI%2FY0%2BZrf0AD%2BPJnrehVY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585443", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '1928'
Content-Type:
- application/json;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:04 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:04 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544430987067; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- lang=en; Path=/
- personalization_id="v1_KepQ+bqW3x/y43slZzYqcA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Access-Level:
- read-write-directmessages
X-Connection-Hash:
- fe7eed972598e46753f044b0f5f1c34e
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '75'
X-Rate-Limit-Remaining:
- '72'
X-Rate-Limit-Reset:
- '1585585445'
X-Response-Time:
- '155'
X-Transaction:
- 00d3169e00a6aa44
X-Twitter-Response-Tags:
- BouncerCompliant
- BouncerExempt
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":20,"lang":null,"status":{"created_at":"Thu
Mar 12 06:57:32 +0000 2020","id":1237996127103811584,"id_str":"1237996127103811584","text":"zammadzammadzammad","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"lv"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","suspended":false,"needs_phone_verification":false}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:04 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/subscriptions.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="97f965f030c78cf792bd551bd8252d16",
oauth_signature="bTbM1ut0%2Bly3dtA6MqArPRq3wYk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585444", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 409
message: Conflict
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '66'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:05 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:05 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544515442211; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_I7zU3t0hJJakpotS4JM6yQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b195905c1f696c9a9fc408e990adc77d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '130'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":355,"message":"Subscription already exists."}]}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:05 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,312 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="cRQcN4SYlNvQmxLERXdkHw0b8WkgopWyZfshYZ0bQ5c",
oauth_signature="1QKjkAywyA9C28RyxllXH4I%2B8dk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562755", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 10:05:59 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 10:05:59 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556275926104897; Max-Age=63072000; Expires=Wed, 30 Mar 2022
10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_2VPPoqwsc7qTrmUTl7TOqQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d5c96afbba7d4a8d9767a2520f1014b9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00d90bb200263ca8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DyhnyQAAAAAA9CNXAAABcSxAexs&oauth_token_secret=ubeISX6MlS1PTPAp8udaQ2yRqHlNWdCf&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 10:05:59 GMT
- request:
method: post
uri: https://api.twitter.com/oauth/access_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="2Wj2SwZSjbQpBx5pgSqAcwXuREAZCW9cYk7IgK79M",
oauth_signature="zv4lFCYM8OgJleXMzjSrh6bkzb4%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585442", oauth_token="DyhnyQAAAAAA9CNXAAABcSxAexs", oauth_verifier="15DOeRkjP4JkOSVqULkTKA1SCuIPP105",
oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '174'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:03 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:03 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544330530048; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_r1gFYSkkPVRlfj2/S3iBhA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 4c532e72e52e91a920ec7ede1d738a7d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '437'
X-Transaction:
- 002d00030028d5ad
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=REDACTED&oauth_token_secret=6Izq6rCcuJs07inPgc7oMVbq0sjLzuxFLcRq2gp5ulJQW&user_id=1205290247124217856&screen_name=pennbrooke1
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:03 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account/verify_credentials.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d8377bbeda339f59394d528d368c5bd6",
oauth_signature="665K11LI%2FY0%2BZrf0AD%2BPJnrehVY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585443", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '1928'
Content-Type:
- application/json;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:04 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:04 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544430987067; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- lang=en; Path=/
- personalization_id="v1_KepQ+bqW3x/y43slZzYqcA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Access-Level:
- read-write-directmessages
X-Connection-Hash:
- fe7eed972598e46753f044b0f5f1c34e
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '75'
X-Rate-Limit-Remaining:
- '72'
X-Rate-Limit-Reset:
- '1585585445'
X-Response-Time:
- '155'
X-Transaction:
- 00d3169e00a6aa44
X-Twitter-Response-Tags:
- BouncerCompliant
- BouncerExempt
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":20,"lang":null,"status":{"created_at":"Thu
Mar 12 06:57:32 +0000 2020","id":1237996127103811584,"id_str":"1237996127103811584","text":"zammadzammadzammad","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"lv"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","suspended":false,"needs_phone_verification":false}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:04 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/subscriptions.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="97f965f030c78cf792bd551bd8252d16",
oauth_signature="bTbM1ut0%2Bly3dtA6MqArPRq3wYk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585444", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 409
message: Conflict
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '66'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:05 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:05 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544515442211; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_I7zU3t0hJJakpotS4JM6yQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b195905c1f696c9a9fc408e990adc77d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '130'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":355,"message":"Subscription already exists."}]}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:05 GMT
recorded_with: VCR 4.0.0

View file

@ -0,0 +1,312 @@
---
http_interactions:
- request:
method: post
uri: https://api.twitter.com/oauth/request_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_callback="https%3A%2F%2Fzammad.example.com%2Fapi%2Fv1%2Fexternal_credentials%2Ftwitter%2Fcallback",
oauth_consumer_key="REDACTED", oauth_nonce="cRQcN4SYlNvQmxLERXdkHw0b8WkgopWyZfshYZ0bQ5c",
oauth_signature="1QKjkAywyA9C28RyxllXH4I%2B8dk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585562755", oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '129'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 10:05:59 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 10:05:59 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158556275926104897; Max-Age=63072000; Expires=Wed, 30 Mar 2022
10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_2VPPoqwsc7qTrmUTl7TOqQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 10:05:59 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- d5c96afbba7d4a8d9767a2520f1014b9
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '179'
X-Transaction:
- 00d90bb200263ca8
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=DyhnyQAAAAAA9CNXAAABcSxAexs&oauth_token_secret=ubeISX6MlS1PTPAp8udaQ2yRqHlNWdCf&oauth_callback_confirmed=true
http_version:
recorded_at: Mon, 30 Mar 2020 10:05:59 GMT
- request:
method: post
uri: https://api.twitter.com/oauth/access_token
body:
encoding: UTF-8
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
User-Agent:
- OAuth gem v0.5.4
Content-Length:
- '0'
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="2Wj2SwZSjbQpBx5pgSqAcwXuREAZCW9cYk7IgK79M",
oauth_signature="zv4lFCYM8OgJleXMzjSrh6bkzb4%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585442", oauth_token="DyhnyQAAAAAA9CNXAAABcSxAexs", oauth_verifier="15DOeRkjP4JkOSVqULkTKA1SCuIPP105",
oauth_version="1.0"
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length:
- '174'
Content-Security-Policy:
- default-src 'none'; connect-src 'self'; font-src https://abs.twimg.com https://abs-0.twimg.com
data:; frame-src 'self' twitter:; img-src https://abs.twimg.com https://*.twimg.com
https://pbs.twimg.com data:; media-src 'none'; object-src 'none'; script-src
https://abs.twimg.com https://abs-0.twimg.com https://twitter.com https://mobile.twitter.com;
style-src https://abs.twimg.com https://abs-0.twimg.com; report-uri https://twitter.com/i/csp_report?a=NVQWGYLXFVWG6Z3JNY%3D%3D%3D%3D%3D%3D&ro=false;
Content-Type:
- text/html;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:03 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:03 GMT
Ml:
- S
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544330530048; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_r1gFYSkkPVRlfj2/S3iBhA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- 4c532e72e52e91a920ec7ede1d738a7d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '437'
X-Transaction:
- 002d00030028d5ad
X-Twitter-Response-Tags:
- BouncerCompliant
X-Ua-Compatible:
- IE=edge,chrome=1
X-Xss-Protection:
- '0'
body:
encoding: ASCII-8BIT
string: oauth_token=REDACTED&oauth_token_secret=6Izq6rCcuJs07inPgc7oMVbq0sjLzuxFLcRq2gp5ulJQW&user_id=1205290247124217856&screen_name=pennbrooke1
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:03 GMT
- request:
method: get
uri: https://api.twitter.com/1.1/account/verify_credentials.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="d8377bbeda339f59394d528d368c5bd6",
oauth_signature="665K11LI%2FY0%2BZrf0AD%2BPJnrehVY%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585443", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Host:
- api.twitter.com
response:
status:
code: 200
message: OK
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '1928'
Content-Type:
- application/json;charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:04 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:04 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544430987067; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- lang=en; Path=/
- personalization_id="v1_KepQ+bqW3x/y43slZzYqcA=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Status:
- 200 OK
Strict-Transport-Security:
- max-age=631138519
X-Access-Level:
- read-write-directmessages
X-Connection-Hash:
- fe7eed972598e46753f044b0f5f1c34e
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Rate-Limit-Limit:
- '75'
X-Rate-Limit-Remaining:
- '72'
X-Rate-Limit-Reset:
- '1585585445'
X-Response-Time:
- '155'
X-Transaction:
- 00d3169e00a6aa44
X-Twitter-Response-Tags:
- BouncerCompliant
- BouncerExempt
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":20,"lang":null,"status":{"created_at":"Thu
Mar 12 06:57:32 +0000 2020","id":1237996127103811584,"id_str":"1237996127103811584","text":"zammadzammadzammad","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"lv"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","suspended":false,"needs_phone_verification":false}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:04 GMT
- request:
method: post
uri: https://api.twitter.com/1.1/account_activity/all/zammad/subscriptions.json
body:
encoding: UTF-8
string: ''
headers:
User-Agent:
- TwitterRubyGem/6.2.0
Authorization:
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="97f965f030c78cf792bd551bd8252d16",
oauth_signature="bTbM1ut0%2Bly3dtA6MqArPRq3wYk%3D", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1585585444", oauth_token="REDACTED",
oauth_version="1.0"
Connection:
- close
Content-Type:
- application/x-www-form-urlencoded
Host:
- api.twitter.com
response:
status:
code: 409
message: Conflict
headers:
Cache-Control:
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Connection:
- close
Content-Disposition:
- attachment; filename=json.json
Content-Length:
- '66'
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 30 Mar 2020 16:24:05 GMT
Expires:
- Tue, 31 Mar 1981 05:00:00 GMT
Last-Modified:
- Mon, 30 Mar 2020 16:24:05 GMT
Pragma:
- no-cache
Server:
- tsa_m
Set-Cookie:
- guest_id=v1%3A158558544515442211; Max-Age=63072000; Expires=Wed, 30 Mar 2022
16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
- personalization_id="v1_I7zU3t0hJJakpotS4JM6yQ=="; Max-Age=63072000; Expires=Wed,
30 Mar 2022 16:24:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
Strict-Transport-Security:
- max-age=631138519
X-Connection-Hash:
- b195905c1f696c9a9fc408e990adc77d
X-Content-Type-Options:
- nosniff
X-Frame-Options:
- SAMEORIGIN
X-Response-Time:
- '130'
X-Xss-Protection:
- '0'
body:
encoding: UTF-8
string: '{"errors":[{"code":355,"message":"Subscription already exists."}]}'
http_version:
recorded_at: Mon, 30 Mar 2020 16:24:05 GMT
recorded_with: VCR 4.0.0