facebook_ads 0.1.11 → 0.1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/.approvals +0 -0
  3. data/.coveralls.yml +1 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +13 -1
  6. data/.rubocop_todo.yml +16 -0
  7. data/.travis.yml +3 -1
  8. data/CHANGELOG.md +5 -0
  9. data/Gemfile +10 -7
  10. data/Gemfile.lock +56 -19
  11. data/LICENSE.md +22 -0
  12. data/README.md +8 -0
  13. data/facebook_ads.gemspec +2 -2
  14. data/lib/facebook_ads/ad.rb +2 -2
  15. data/lib/facebook_ads/ad_account.rb +52 -19
  16. data/lib/facebook_ads/ad_audience.rb +1 -1
  17. data/lib/facebook_ads/ad_campaign.rb +47 -5
  18. data/lib/facebook_ads/ad_creative.rb +4 -4
  19. data/lib/facebook_ads/ad_exception.rb +7 -1
  20. data/lib/facebook_ads/ad_image.rb +6 -2
  21. data/lib/facebook_ads/ad_insight.rb +1 -1
  22. data/lib/facebook_ads/ad_product.rb +1 -1
  23. data/lib/facebook_ads/ad_product_catalog.rb +1 -1
  24. data/lib/facebook_ads/ad_product_feed.rb +1 -1
  25. data/lib/facebook_ads/ad_product_set.rb +1 -1
  26. data/lib/facebook_ads/ad_set.rb +5 -5
  27. data/lib/facebook_ads/ad_targeting.rb +3 -3
  28. data/lib/facebook_ads/base.rb +10 -9
  29. data/spec/facebook_ads/ad_account_spec.rb +93 -0
  30. data/spec/facebook_ads/ad_campaign_spec.rb +19 -0
  31. data/spec/facebook_ads/ad_creative_spec.rb +4 -0
  32. data/spec/facebook_ads/ad_image_spec.rb +4 -0
  33. data/spec/facebook_ads/ad_insight_spec.rb +4 -0
  34. data/spec/facebook_ads/ad_product_catalog_spec.rb +27 -0
  35. data/spec/facebook_ads/ad_product_feed_spec.rb +4 -0
  36. data/spec/facebook_ads/ad_product_set_spec.rb +4 -0
  37. data/spec/facebook_ads/ad_product_spec.rb +21 -0
  38. data/spec/facebook_ads/ad_set_spec.rb +47 -0
  39. data/spec/facebook_ads/ad_spec.rb +4 -0
  40. data/spec/facebook_ads/ad_targeting_spec.rb +4 -0
  41. data/spec/facebook_ads/facebook_ads_spec.rb +15 -0
  42. data/spec/fixtures/approvals/facebookads_adaccount/ad_campaigns/lists_campaigns.approved.json +15 -0
  43. data/spec/fixtures/approvals/facebookads_adaccount/ad_creatives/lists_creatives.approved.json +1047 -0
  44. data/spec/fixtures/approvals/facebookads_adaccount/ad_images/lists_images.approved.json +11 -0
  45. data/spec/fixtures/approvals/facebookads_adaccount/ad_sets/lists_ad_sets.approved.json +3 -0
  46. data/spec/fixtures/approvals/facebookads_adaccount/ads/lists_ads.approved.json +3 -0
  47. data/spec/fixtures/approvals/facebookads_adaccount/all/lists_all_accounts.approved.json +92 -0
  48. data/spec/fixtures/approvals/facebookads_adaccount/create_ad_campaign/creates_a_new_ad_campaign.approved.json +13 -0
  49. data/spec/fixtures/approvals/facebookads_adaccount/create_ad_images/creates_an_image.approved.json +11 -0
  50. data/spec/fixtures/approvals/facebookads_adaccount/find_by/finds_a_specific_account.approved.json +9 -0
  51. data/spec/fixtures/approvals/facebookads_adaccount/reach_estimate/estimates_the_reach_of_a_targeting_spec.approved.json +358 -0
  52. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_ad_campaigns/lists_campaigns.yml +56 -0
  53. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_ad_creatives/lists_creatives.yml +91 -0
  54. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_ad_images/lists_images.yml +56 -0
  55. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_ad_sets/lists_ad_sets.yml +56 -0
  56. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_ads/lists_ads.yml +56 -0
  57. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_all/lists_all_accounts.yml +58 -0
  58. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_create_ad_campaign/creates_a_new_ad_campaign.yml +115 -0
  59. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_create_ad_images/creates_an_image.yml +2865 -0
  60. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_find_by/finds_a_specific_account.yml +58 -0
  61. data/spec/fixtures/cassettes/FacebookAds_AdAccount/_reach_estimate/estimates_the_reach_of_a_targeting_spec.yml +56 -0
  62. data/spec/fixtures/cassettes/FacebookAds_AdCampaign/_destroy/creates_a_new_ad_campaign.yml +164 -0
  63. data/spec/spec_helper.rb +7 -0
  64. data/spec/support/approvals.rb +10 -0
  65. data/spec/support/facebook_ads.rb +4 -0
  66. data/spec/support/rest_client.rb +13 -0
  67. data/spec/support/vcr.rb +16 -0
  68. metadata +47 -29
  69. data/test/ad_account_test.rb +0 -27
  70. data/test/ad_campaign_test.rb +0 -32
  71. data/test/ad_creative_test.rb +0 -7
  72. data/test/ad_image_test.rb +0 -27
  73. data/test/ad_insight_test.rb +0 -7
  74. data/test/ad_product_catalog_test.rb +0 -28
  75. data/test/ad_product_feed_test.rb +0 -7
  76. data/test/ad_product_set_test.rb +0 -7
  77. data/test/ad_product_test.rb +0 -22
  78. data/test/ad_set_test.rb +0 -48
  79. data/test/ad_targeting_test.rb +0 -7
  80. data/test/ad_test.rb +0 -7
  81. data/test/facebook_ads_test.rb +0 -8
  82. data/test/test_helper.rb +0 -64
  83. data/test/vcr_cassettes/AdAccountTest-test_all.yml +0 -70
  84. data/test/vcr_cassettes/AdAccountTest-test_applications.yml +0 -130
  85. data/test/vcr_cassettes/AdAccountTest-test_find_by.yml +0 -71
  86. data/test/vcr_cassettes/AdCampaignTest-test_create.yml +0 -295
  87. data/test/vcr_cassettes/AdCampaignTest-test_list.yml +0 -133
  88. data/test/vcr_cassettes/AdImageTest-test_create.yml +0 -2963
  89. data/test/vcr_cassettes/AdImageTest-test_list.yml +0 -137
  90. data/test/vcr_cassettes/AdProductCatalogTest-test_all.yml +0 -60
  91. data/test/vcr_cassettes/AdProductCatalogTest-test_create.yml +0 -256
  92. data/test/vcr_cassettes/AdProductTest-test_list.yml +0 -130
  93. data/test/vcr_cassettes/AdSetTest-test_create.yml +0 -189
  94. data/test/vcr_cassettes/AdSetTest-test_destroy.yml +0 -124
  95. data/test/vcr_cassettes/AdSetTest-test_update.yml +0 -134
@@ -1,27 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_account_test.rb
4
- class AdAccountTest < BaseTest
5
- def test_all
6
- vcr do
7
- accounts = FacebookAds::AdAccount.all
8
- assert_equal 10, accounts.length
9
- end
10
- end
11
-
12
- def test_find_by
13
- vcr do
14
- account = FacebookAds::AdAccount.find_by(name: 'ReFuel4')
15
- assert_equal 'ReFuel4', account.name
16
- end
17
- end
18
-
19
- def test_applications
20
- vcr do
21
- account = FacebookAds::AdAccount.find_by(name: 'ReFuel4')
22
- apps = account.applications
23
- assert !apps['data'].find { |app| app['name'] == 'Tophatter' }.nil?
24
- assert !apps['data'].find { |app| app['name'] == 'Ruby - Jewelry Shopping Deals' }.nil?
25
- end
26
- end
27
- end
@@ -1,32 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_campaign_test.rb
4
- class AdCampaignTest < BaseTest
5
- def test_list
6
- vcr do
7
- account = FacebookAds::AdAccount.find_by(name: 'Ruby')
8
- ad_campaigns = account.ad_campaigns
9
- ad_campaign = ad_campaigns.first
10
- assert_equal '23842540417890562', ad_campaign.id
11
- assert_equal '1115226431853975', ad_campaign.account_id
12
- assert_equal 'AUCTION', ad_campaign.buying_type
13
- assert_equal true, ad_campaign.can_use_spend_cap
14
- assert_equal 'ACTIVE', ad_campaign.configured_status
15
- assert_equal 'ACTIVE', ad_campaign.effective_status
16
- assert_equal 'iOS App installs', ad_campaign.name
17
- assert_equal 'MOBILE_APP_INSTALLS', ad_campaign.objective
18
- end
19
- end
20
-
21
- def test_create
22
- vcr do
23
- account = FacebookAds::AdAccount.find_by(name: 'ReFuel4')
24
- ad_campaign = account.create_ad_campaign(name: 'Test', objective: 'MOBILE_APP_INSTALLS')
25
- assert_equal 'Test', ad_campaign.name
26
- assert_equal 'MOBILE_APP_INSTALLS', ad_campaign.objective
27
- assert_equal true, ad_campaign.destroy
28
- ad_campaign = FacebookAds::AdCampaign.find(ad_campaign.id)
29
- assert_equal 'DELETED', ad_campaign.effective_status
30
- end
31
- end
32
- end
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_creative_test.rb
4
- class AdCreativeTest < BaseTest
5
- def test_foo
6
- end
7
- end
@@ -1,27 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_image_test.rb
4
- class AdImageTest < BaseTest
5
- def test_list
6
- vcr do
7
- account = FacebookAds::AdAccount.find_by(name: 'ReFuel4')
8
- ad_images = account.ad_images(hashes: %w(a9e27630331b8ca2ebac1bb8619c98eb 037b8f4f2383f45f35b110cf72c46f0b))
9
- assert_equal 2, ad_images.length
10
- end
11
- end
12
-
13
- def test_create
14
- vcr do
15
- account = FacebookAds::AdAccount.find_by(name: 'ReFuel4')
16
- ad_images = account.create_ad_images(['https://img0.etsystatic.com/108/1/13006112/il_570xN.1047856494_l2gp.jpg'])
17
- ad_image = ad_images.first
18
- assert_equal '1132789356764349:287ecd37223004c301f5df4e4d02bbe2', ad_image.id
19
- assert_equal '287ecd37223004c301f5df4e4d02bbe2', ad_image.hash
20
- assert_equal '1132789356764349', ad_image.account_id
21
- assert_equal '13006112.jpg', ad_image.name
22
- assert ad_image.permalink_url.include?('https://www.facebook.com/ads/image/?d=')
23
- assert_equal 570, ad_image.original_width
24
- assert_equal 707, ad_image.original_height
25
- end
26
- end
27
- end
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_account_test.rb
4
- class AdInsightTest < BaseTest
5
- def test_foo
6
- end
7
- end
@@ -1,28 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_product_catalog_test.rb
4
- class AdProductCatalogTest < BaseTest
5
- def test_all
6
- vcr do
7
- catalog = FacebookAds::AdProductCatalog.all.first
8
- assert_equal '197871307315718', catalog.id
9
- assert_equal 'Test', catalog.name
10
- assert_equal 'commerce', catalog.vertical
11
- assert_equal 1, catalog.product_count
12
- assert_equal 1, catalog.feed_count
13
- end
14
- end
15
-
16
- def test_create
17
- vcr do
18
- catalog = FacebookAds::AdProductCatalog.create(name: 'Foo Bar')
19
- assert_equal 'Foo Bar', catalog.name
20
- assert_equal 'commerce', catalog.vertical
21
- assert_equal 0, catalog.product_count
22
- assert_equal 0, catalog.feed_count
23
- catalog = FacebookAds::AdProductCatalog.find(catalog.id)
24
- assert_equal true, catalog.destroy
25
- assert_nil FacebookAds::AdProductCatalog.find_by(name: 'Foo Bar')
26
- end
27
- end
28
- end
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_product_feed_test.rb
4
- class AdProductFeedTest < BaseTest
5
- def test_foo
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_product_set_test.rb
4
- class AdProductSetTest < BaseTest
5
- def test_foo
6
- end
7
- end
@@ -1,22 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_product_test.rb
4
- class AdProductTest < BaseTest
5
- def test_list
6
- vcr do
7
- catalog = FacebookAds::AdProductCatalog.find_by(name: 'Test')
8
- products = catalog.ad_products
9
- product = products.first
10
- assert_equal '1489112071104048', product.id
11
- assert_equal 'retro-ruby-earrings', product.retailer_id
12
- assert_equal 'Precious Retro .925 Sterling Silver Artificial Ruby Earrings', product.name
13
- assert_equal '$5 shipping - at your doorstep within 25-27 business days.', product.description
14
- assert_equal 'Adoration-Precious', product.brand
15
- assert_equal 'Jewelry | Earrings', product.category
16
- assert_equal 'USD', product.currency
17
- assert_equal '$156.00', product.price
18
- assert_equal 'https://external.xx.fbcdn.net/safe_image.php?d=AQALnOfu1mhkpb4T&url=https%3A%2F%2Fd38eepresuu519.cloudfront.net%2F12c85243d743ac3cb21b71c34192b252%2Flarge.jpg&cfs=1&_nc_hash=AQBlxlDCq59tO6sE', product.image_url
19
- assert_equal 'https://tophatter.com/lots/23275728', product.url
20
- end
21
- end
22
- end
data/test/ad_set_test.rb DELETED
@@ -1,48 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_set_test.rb
4
- class AdSetTest < BaseTest
5
- def test_create
6
- vcr do
7
- ad_campaign = FacebookAds::AdCampaign.find('6069436026057')
8
- ad_set = ad_campaign.create_ad_set(
9
- name: 'Test',
10
- promoted_object: {
11
- pixel_id: '1472889202927380',
12
- custom_event_type: 'PURCHASE'
13
- },
14
- targeting: {
15
- age_max: 65,
16
- age_min: 18,
17
- app_install_state: 'not_installed',
18
- excluded_custom_audiences: [{ "name"=>"All-Users-2016-07-28", "id"=>"6068994792257" }],
19
- genders: [2],
20
- geo_locations: { countries: %w(US), location_types: %w(home recent) },
21
- locales: [24, 6],
22
- publisher_platforms: %w(facebook instagram audience_network),
23
- device_platforms: %w(desktop),
24
- facebook_positions: %w(feed right_hand_column)
25
- },
26
- daily_budget: 1000,
27
- optimization_goal: 'OFFSITE_CONVERSIONS'
28
- )
29
- assert_equal '6081945233457', ad_set.id
30
- assert_equal '1000', ad_set.daily_budget
31
- assert_equal 'OFFSITE_CONVERSIONS', ad_set.optimization_goal
32
- end
33
- end
34
-
35
- def test_update
36
- vcr do
37
- ad_set = FacebookAds::AdSet.find('6078462927057')
38
- assert ad_set.update(daily_budget: 149900)
39
- end
40
- end
41
-
42
- def test_destroy
43
- vcr do
44
- ad_set = FacebookAds::AdSet.find('6081945233457')
45
- assert ad_set.destroy
46
- end
47
- end
48
- end
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_targeting_test.rb
4
- class AdTargetingTest < BaseTest
5
- def test_foo
6
- end
7
- end
data/test/ad_test.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/ad_test.rb
4
- class AdTest < BaseTest
5
- def test_foo
6
- end
7
- end
@@ -1,8 +0,0 @@
1
- require 'test_helper'
2
-
3
- # rake test TEST=test/base_test.rb
4
- class FacebookAdsTest < BaseTest
5
- def test_version
6
- assert FacebookAds.base_uri.include?('2.8')
7
- end
8
- end
data/test/test_helper.rb DELETED
@@ -1,64 +0,0 @@
1
- ENV['RAILS_ENV'] ||= 'test'
2
-
3
- require 'coveralls'
4
- Coveralls.wear!('rails')
5
-
6
- # https://github.com/colszowka/simplecov
7
- require 'simplecov'
8
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
9
- SimpleCov.start do
10
- add_filter 'bin/console'
11
- end
12
-
13
- require 'facebook_ads'
14
- require 'minitest/autorun'
15
- require 'vcr'
16
- require 'awesome_print'
17
-
18
- VCR.configure do |config|
19
- config.cassette_library_dir = 'test/vcr_cassettes'
20
- config.hook_into :webmock
21
- config.filter_sensitive_data('TEST_ACCESS_TOKEN') do
22
- begin
23
- File.read('test_access_token').chop
24
- rescue Errno::ENOENT
25
- 'TEST_ACCESS_TOKEN'
26
- end
27
- end
28
- config.filter_sensitive_data('TEST_BUSINESS_ID') do
29
- begin
30
- File.read('test_business_id').chop
31
- rescue Errno::ENOENT
32
- 'TEST_BUSINESS_ID'
33
- end
34
- end
35
- end
36
-
37
- class BaseTest < Minitest::Test
38
- protected
39
-
40
- def setup
41
- FacebookAds.access_token = begin
42
- File.read('test_access_token').chop
43
- rescue Errno::ENOENT
44
- 'TEST_ACCESS_TOKEN'
45
- end
46
-
47
- FacebookAds.business_id = begin
48
- File.read('test_business_id').chop
49
- rescue Errno::ENOENT
50
- 'TEST_BUSINESS_ID'
51
- end
52
-
53
- # FacebookAds.logger = Logger.new(STDOUT)
54
- # FacebookAds.logger.level = Logger::Severity::DEBUG
55
- end
56
-
57
- def vcr
58
- calling_method = caller[0][/`.*'/][1..-2]
59
-
60
- VCR.use_cassette("#{self.class.name}-#{calling_method}", match_requests_on: [:host, :path]) do
61
- yield
62
- end
63
- end
64
- end
@@ -1,70 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://graph.facebook.com/v2.8/me/adaccounts?access_token=TEST_ACCESS_TOKEN&fields=id,account_id,account_status,age,created_time,currency,name
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - "*/*; q=0.5, application/xml"
12
- Accept-Encoding:
13
- - gzip, deflate
14
- User-Agent:
15
- - Ruby
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Access-Control-Allow-Origin:
22
- - "*"
23
- Etag:
24
- - '"8727ddc19027cf41ac64d844a2955c4c30bbfdcb"'
25
- Pragma:
26
- - no-cache
27
- Cache-Control:
28
- - private, no-cache, no-store, must-revalidate
29
- Facebook-Api-Version:
30
- - v2.8
31
- Expires:
32
- - Sat, 01 Jan 2000 00:00:00 GMT
33
- Content-Type:
34
- - application/json; charset=UTF-8
35
- X-Fb-Trace-Id:
36
- - CtmthPguZnS
37
- X-Fb-Rev:
38
- - '2761076'
39
- Vary:
40
- - Accept-Encoding
41
- Content-Encoding:
42
- - gzip
43
- X-Fb-Debug:
44
- - M17xwZAHmQJsxtPYHQ6V++j2xNTzdmADQ1enDSidz6U/Bx330r4820WEjDSwdAxS8Vw5qMKNxrQhTP/L036adA==
45
- Date:
46
- - Sun, 01 Jan 2017 02:33:35 GMT
47
- Connection:
48
- - keep-alive
49
- Content-Length:
50
- - '630'
51
- body:
52
- encoding: ASCII-8BIT
53
- string: !binary |-
54
- H4sIAAAAAAAAA4WUT2+bQBDFv0rE2aCZ2Z39d4vqVvLBjppQVUpVRQQTB7e1
55
- K4yVWpG/ewfUQwPesOKAdoblx+PNe03WRVsk4dtrUq+TkBRl+4BEismzQiBl
56
- jE5msl3uj7v2oe95p35oi/Z4SALK1qZKApmMiNkDWVlulpRNVbTV+qGtf0k5
57
- IUCTIqVAOUJguWwKDkCOLI9NU+3Kk3R9uZvLxq7oH5m/1Jvn9mqxSM6z/6HR
58
- OwVMDgjJshlBx+tDaK0z0pY99ZeKQGOKkKPqofUU9G3VFs2mauvdZojtlOiJ
59
- Gq3IaWGMHa0PsY3OvHfeeA9Wg41gQ0q215oD+1ROnNZ6SKzIOq/YWKOV9mPi
60
- aH1IjGgz77RW5CyoCDG4VGGOHFAHUlPEt9WnY/VTD5GRiYQGHStveYwcrY+Q
61
- NWZIBv+tKHLnDRvIBj0p8u3x8fSWV0ZLhgZESRGHaYgbL4+crDBzGhVrNMZc
62
- FJh7S5gcvKgbOvj3afPqcMHFwOiVE7OikwmzI4Hj9VFiaJN5Yzx4S7IiAuuU
63
- XCewogB2Cvlr9TjElf+tFFt5jzgP1Jg33jAEVoyZRJvXposMcwlY9xrrXBys
64
- XFA4BfzhuakPVx8PbVPV5fNbdmdEQitZ5gxoN5q+eHkUF+QycMrKl8aimTuh
65
- wedoJOICuynu69262QvGG2AZKOfYjkgv7I+84Nhl4l62sXwAmS7JBO7yAXSf
66
- aO8HcX1zl5y/z5LfxaZzcXjtOg/75tDdPlZP+6brWm6XejVf4HL7489q/oVW
67
- +fVpmZf33UHFU1s10rPaXr8stwu4mS9Pq3zDq8/3c2k4n89/AXYRrTZUBwAA
68
- http_version:
69
- recorded_at: Sun, 01 Jan 2017 02:33:35 GMT
70
- recorded_with: VCR 3.0.3
@@ -1,130 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://graph.facebook.com/v2.8/me/adaccounts?access_token=TEST_ACCESS_TOKEN&fields=id,account_id,account_status,age,created_time,currency,name
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - "*/*; q=0.5, application/xml"
12
- Accept-Encoding:
13
- - gzip, deflate
14
- User-Agent:
15
- - Ruby
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Access-Control-Allow-Origin:
22
- - "*"
23
- Etag:
24
- - '"8727ddc19027cf41ac64d844a2955c4c30bbfdcb"'
25
- Pragma:
26
- - no-cache
27
- Cache-Control:
28
- - private, no-cache, no-store, must-revalidate
29
- Facebook-Api-Version:
30
- - v2.8
31
- Expires:
32
- - Sat, 01 Jan 2000 00:00:00 GMT
33
- Content-Type:
34
- - application/json; charset=UTF-8
35
- X-Fb-Trace-Id:
36
- - DS1qjlOMSaj
37
- X-Fb-Rev:
38
- - '2761076'
39
- Vary:
40
- - Accept-Encoding
41
- Content-Encoding:
42
- - gzip
43
- X-Fb-Debug:
44
- - 6+4AZVGdeDWLOC6AgJ93KwzhtilTnUjW1Y/UuERgFQGbzhN4eDm0F2sBIIl6uoViKGCirMP2vbZfYK7fg5y0oA==
45
- Date:
46
- - Sun, 01 Jan 2017 02:33:35 GMT
47
- Connection:
48
- - keep-alive
49
- Content-Length:
50
- - '630'
51
- body:
52
- encoding: ASCII-8BIT
53
- string: !binary |-
54
- H4sIAAAAAAAAA4WUT2+bQBDFv0rE2aCZ2Z39d4vqVvLBjppQVUpVRQQTB7e1
55
- K4yVWpG/ewfUQwPesOKAdoblx+PNe03WRVsk4dtrUq+TkBRl+4BEismzQiBl
56
- jE5msl3uj7v2oe95p35oi/Z4SALK1qZKApmMiNkDWVlulpRNVbTV+qGtf0k5
57
- IUCTIqVAOUJguWwKDkCOLI9NU+3Kk3R9uZvLxq7oH5m/1Jvn9mqxSM6z/6HR
58
- OwVMDgjJshlBx+tDaK0z0pY99ZeKQGOKkKPqofUU9G3VFs2mauvdZojtlOiJ
59
- Gq3IaWGMHa0PsY3OvHfeeA9Wg41gQ0q215oD+1ROnNZ6SKzIOq/YWKOV9mPi
60
- aH1IjGgz77RW5CyoCDG4VGGOHFAHUlPEt9WnY/VTD5GRiYQGHStveYwcrY+Q
61
- NWZIBv+tKHLnDRvIBj0p8u3x8fSWV0ZLhgZESRGHaYgbL4+crDBzGhVrNMZc
62
- FJh7S5gcvKgbOvj3afPqcMHFwOiVE7OikwmzI4Hj9VFiaJN5Yzx4S7IiAuuU
63
- XCewogB2Cvlr9TjElf+tFFt5jzgP1Jg33jAEVoyZRJvXposMcwlY9xrrXBys
64
- XFA4BfzhuakPVx8PbVPV5fNbdmdEQitZ5gxoN5q+eHkUF+QycMrKl8aimTuh
65
- wedoJOICuynu69262QvGG2AZKOfYjkgv7I+84Nhl4l62sXwAmS7JBO7yAXSf
66
- aO8HcX1zl5y/z5LfxaZzcXjtOg/75tDdPlZP+6brWm6XejVf4HL7489q/oVW
67
- +fVpmZf33UHFU1s10rPaXr8stwu4mS9Pq3zDq8/3c2k4n89/AXYRrTZUBwAA
68
- http_version:
69
- recorded_at: Sun, 01 Jan 2017 02:33:35 GMT
70
- - request:
71
- method: get
72
- uri: https://graph.facebook.com/v2.8/act_1132789356764349/advertisable_applications?access_token=TEST_ACCESS_TOKEN
73
- body:
74
- encoding: US-ASCII
75
- string: ''
76
- headers:
77
- Accept:
78
- - "*/*; q=0.5, application/xml"
79
- Accept-Encoding:
80
- - gzip, deflate
81
- User-Agent:
82
- - Ruby
83
- response:
84
- status:
85
- code: 200
86
- message: OK
87
- headers:
88
- Access-Control-Allow-Origin:
89
- - "*"
90
- Etag:
91
- - '"ed5a3a3762d401f540d4f52b8a1a581c369b29c4"'
92
- Pragma:
93
- - no-cache
94
- Cache-Control:
95
- - private, no-cache, no-store, must-revalidate
96
- Facebook-Api-Version:
97
- - v2.8
98
- Expires:
99
- - Sat, 01 Jan 2000 00:00:00 GMT
100
- Content-Type:
101
- - application/json; charset=UTF-8
102
- X-Fb-Trace-Id:
103
- - FLOZqWyoOYj
104
- X-Fb-Rev:
105
- - '2761076'
106
- Vary:
107
- - Accept-Encoding
108
- Content-Encoding:
109
- - gzip
110
- X-Fb-Debug:
111
- - osSdSrQ/aBSnR2FqPJQgAMmD/lnFd5XwjzuDSuxRMjcrM56dPBHP41osYJLrHiBNRH5aBUq/Ru9qq5U+blWJHA==
112
- Date:
113
- - Sun, 01 Jan 2017 02:33:35 GMT
114
- Connection:
115
- - keep-alive
116
- Content-Length:
117
- - '302'
118
- body:
119
- encoding: ASCII-8BIT
120
- string: !binary |-
121
- H4sIAAAAAAAAA5WRXU+DMBSG/wrp9QYtSD+WGBOzK+OV807M0kEHzTra0G6E
122
- LPvvlujALWj0tuf0PM95zwkU3HGweDuBnDtR6qYDC/Ast8K6TgkwA0rWO/9U
123
- OWfsIouyqDlsutBpU3HnRBPmep9Fvq/me+H7Xnw1mAdPohWq6YJVpY2RdRks
124
- BVf2q80anve9w5B5P9MXZeFfUcooIhBBgnCMcQLOsyu5x4OVtbB2yq1t23Dr
125
- h2+03n2alT0vix64MWtZ3CNMMWZJmnoKogkbxVdCqUDXwetFavC5/XLj82tY
126
- NzlZWdbrgxmp32mT0VwsYpZSGBMfSkzxHfyjxNTBCnGcONhSHMeFE9KzCPOL
127
- Qxz/h/UjZlj0mkUoQZ4FCWOQ0hSc388fjb/W/JMCAAA=
128
- http_version:
129
- recorded_at: Sun, 01 Jan 2017 02:33:35 GMT
130
- recorded_with: VCR 3.0.3