bing_ads_ruby_sdk 1.1.1 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +8 -1
- data/.gitignore +1 -1
- data/README.md +6 -2
- data/bing_ads_ruby_sdk.gemspec +1 -1
- data/changelog.md +15 -1
- data/lib/bing_ads_ruby_sdk/api.rb +3 -1
- data/lib/bing_ads_ruby_sdk/configuration.rb +2 -1
- data/lib/bing_ads_ruby_sdk/header.rb +8 -4
- data/lib/bing_ads_ruby_sdk/http_client.rb +19 -9
- data/lib/bing_ads_ruby_sdk/oauth2/authorization_handler.rb +17 -10
- data/lib/bing_ads_ruby_sdk/services/base.rb +6 -6
- data/lib/bing_ads_ruby_sdk/services/campaign_management.rb +3 -0
- data/lib/bing_ads_ruby_sdk/version.rb +1 -1
- data/lib/bing_ads_ruby_sdk/wsdl/v13/production/campaign_management.xml +11582 -1
- data/lib/bing_ads_ruby_sdk/wsdl/v13/sandbox/campaign_management.xml +11582 -1
- data/lib/bing_ads_ruby_sdk/wsdl/v13/test/campaign_management.xml +11581 -10242
- data/spec/bing_ads_ruby_sdk/header_spec.rb +26 -3
- data/spec/bing_ads_ruby_sdk/services/campaign_management_spec.rb +19 -0
- data/spec/fixtures/campaign_management/set_shared_entity_associations/standard.xml +21 -0
- data/spec/fixtures/campaign_management/set_shared_entity_associations/standard_response.xml +11 -0
- data/tasks/bing_ads_ruby_sdk.rake +3 -1
- metadata +15 -6
@@ -1,6 +1,14 @@
|
|
1
1
|
RSpec.describe BingAdsRubySdk::Header do
|
2
2
|
let(:oauth_store) { double(:oauth_store) }
|
3
|
-
let(:
|
3
|
+
let(:client_secret) { 'pa$$w0rd' }
|
4
|
+
let(:subject) do
|
5
|
+
described_class.new(
|
6
|
+
developer_token: '123abc',
|
7
|
+
client_id: '1a-2b-3c',
|
8
|
+
client_secret: client_secret,
|
9
|
+
store: oauth_store,
|
10
|
+
)
|
11
|
+
end
|
4
12
|
let(:auth_handler) do
|
5
13
|
double(:auth_handler, fetch_or_refresh: 'yes/we/can')
|
6
14
|
end
|
@@ -9,6 +17,7 @@ RSpec.describe BingAdsRubySdk::Header do
|
|
9
17
|
expect(::BingAdsRubySdk::OAuth2::AuthorizationHandler).to receive(:new).with(
|
10
18
|
developer_token: '123abc',
|
11
19
|
client_id: '1a-2b-3c',
|
20
|
+
client_secret: client_secret,
|
12
21
|
store: oauth_store
|
13
22
|
).and_return auth_handler
|
14
23
|
end
|
@@ -19,10 +28,23 @@ RSpec.describe BingAdsRubySdk::Header do
|
|
19
28
|
"AuthenticationToken" => 'yes/we/can',
|
20
29
|
"DeveloperToken" => '123abc',
|
21
30
|
"CustomerId" => nil,
|
22
|
-
"CustomerAccountId" => nil
|
31
|
+
"CustomerAccountId" => nil,
|
32
|
+
"ClientSecret" => client_secret
|
23
33
|
)
|
24
34
|
end
|
25
35
|
|
36
|
+
context "without client_secret" do
|
37
|
+
let(:client_secret) { nil }
|
38
|
+
it do
|
39
|
+
expect(subject.content).to eq(
|
40
|
+
"AuthenticationToken" => 'yes/we/can',
|
41
|
+
"DeveloperToken" => '123abc',
|
42
|
+
"CustomerId" => nil,
|
43
|
+
"CustomerAccountId" => nil
|
44
|
+
)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
26
48
|
it 'sets customer' do
|
27
49
|
subject.set_customer(customer_id: 777, account_id: 666 )
|
28
50
|
|
@@ -30,7 +52,8 @@ RSpec.describe BingAdsRubySdk::Header do
|
|
30
52
|
"AuthenticationToken" => 'yes/we/can',
|
31
53
|
"DeveloperToken" => '123abc',
|
32
54
|
"CustomerId" => 777,
|
33
|
-
"CustomerAccountId" => 666
|
55
|
+
"CustomerAccountId" => 666,
|
56
|
+
"ClientSecret" => client_secret
|
34
57
|
)
|
35
58
|
end
|
36
59
|
end
|
@@ -285,4 +285,23 @@ RSpec.describe BingAdsRubySdk::Services::CampaignManagement do
|
|
285
285
|
])
|
286
286
|
end
|
287
287
|
end
|
288
|
+
|
289
|
+
describe "set_shared_entity_associations" do
|
290
|
+
let(:action) { 'set_shared_entity_associations' }
|
291
|
+
let(:filename) { 'standard' }
|
292
|
+
|
293
|
+
it "returns expected result" do
|
294
|
+
expect(
|
295
|
+
service.set_shared_entity_associations(
|
296
|
+
associations: [{
|
297
|
+
shared_entity_association: {
|
298
|
+
entity_id: "349704435",
|
299
|
+
entity_type: "Account",
|
300
|
+
shared_entity_id: "223200992903993",
|
301
|
+
shared_entity_type: "PlacementExclusionList"
|
302
|
+
},
|
303
|
+
}]
|
304
|
+
)).to eq({ partial_errors: "" })
|
305
|
+
end
|
306
|
+
end
|
288
307
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:ns0="https://bingads.microsoft.com/CampaignManagement/v13" xmlns:ns1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:ns2="http://schemas.datacontract.org/2004/07/System.Collections.Generic" xmlns:ns3="http://schemas.datacontract.org/2004/07/System" xmlns:ns4="https://adapi.microsoft.com" xmlns:ns5="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Header>
|
4
|
+
<ns0:AuthenticationToken>***FILTERED***</ns0:AuthenticationToken>
|
5
|
+
<ns0:DeveloperToken>***FILTERED***</ns0:DeveloperToken>
|
6
|
+
<ns0:CustomerId>***FILTERED***</ns0:CustomerId>
|
7
|
+
<ns0:CustomerAccountId>***FILTERED***</ns0:CustomerAccountId>
|
8
|
+
</soap:Header>
|
9
|
+
<soap:Body>
|
10
|
+
<ns0:SetSharedEntityAssociationsRequest>
|
11
|
+
<ns0:Associations>
|
12
|
+
<ns0:SharedEntityAssociation>
|
13
|
+
<ns0:EntityId>349704435</ns0:EntityId>
|
14
|
+
<ns0:EntityType>Account</ns0:EntityType>
|
15
|
+
<ns0:SharedEntityId>223200992903993</ns0:SharedEntityId>
|
16
|
+
<ns0:SharedEntityType>PlacementExclusionList</ns0:SharedEntityType>
|
17
|
+
</ns0:SharedEntityAssociation>
|
18
|
+
</ns0:Associations>
|
19
|
+
</ns0:SetSharedEntityAssociationsRequest>
|
20
|
+
</soap:Body>
|
21
|
+
</soap:Envelope>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<s:Header>
|
4
|
+
<h:TrackingId xmlns:h="https://bingads.microsoft.com/CampaignManagement/v13">29921349-7ed0-43e9-b9d8-15246bee3651</h:TrackingId>
|
5
|
+
</s:Header>
|
6
|
+
<s:Body>
|
7
|
+
<SetSharedEntityAssociationsResponse xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
|
8
|
+
<PartialErrors xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/>
|
9
|
+
</SetSharedEntityAssociationsResponse>
|
10
|
+
</s:Body>
|
11
|
+
</s:Envelope>
|
@@ -2,16 +2,18 @@ require 'dotenv/load'
|
|
2
2
|
|
3
3
|
namespace :bing_token do
|
4
4
|
desc "Gets and stores Bing OAuth token in file"
|
5
|
-
task :get, [:filename, :bing_developer_token, :bing_client_id] do |task, args|
|
5
|
+
task :get, [:filename, :bing_developer_token, :bing_client_id, :bing_client_secret] do |task, args|
|
6
6
|
|
7
7
|
filename = args[:filename] || ENV.fetch('BING_STORE_FILENAME')
|
8
8
|
developer_token = args[:bing_developer_token] || ENV.fetch('BING_DEVELOPER_TOKEN')
|
9
9
|
bing_client_id = args[:bing_client_id] || ENV.fetch('BING_CLIENT_ID')
|
10
|
+
bing_client_secret = args[:bing_client_secret] || ENV.fetch('BING_CLIENT_SECRET', nil)
|
10
11
|
|
11
12
|
store = ::BingAdsRubySdk::OAuth2::FsStore.new(filename)
|
12
13
|
auth = BingAdsRubySdk::OAuth2::AuthorizationHandler.new(
|
13
14
|
developer_token: developer_token,
|
14
15
|
client_id: bing_client_id,
|
16
|
+
client_secret: bing_client_secret,
|
15
17
|
store: store
|
16
18
|
)
|
17
19
|
puts "Go to #{auth.code_url}",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bing_ads_ruby_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Effilab
|
@@ -9,22 +9,28 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: signet
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 0.8.1
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.13.0
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: 0.8.1
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.13.0
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: excon
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -306,6 +312,8 @@ files:
|
|
306
312
|
- spec/fixtures/campaign_management/get_uet_tags_by_ids/standard_response.xml
|
307
313
|
- spec/fixtures/campaign_management/set_ad_extensions_associations/standard.xml
|
308
314
|
- spec/fixtures/campaign_management/set_ad_extensions_associations/standard_response.xml
|
315
|
+
- spec/fixtures/campaign_management/set_shared_entity_associations/standard.xml
|
316
|
+
- spec/fixtures/campaign_management/set_shared_entity_associations/standard_response.xml
|
309
317
|
- spec/fixtures/campaign_management/update_conversion_goals/standard.xml
|
310
318
|
- spec/fixtures/campaign_management/update_conversion_goals/standard_response.xml
|
311
319
|
- spec/fixtures/campaign_management/update_uet_tags/standard.xml
|
@@ -340,8 +348,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
340
348
|
- !ruby/object:Gem::Version
|
341
349
|
version: '0'
|
342
350
|
requirements: []
|
343
|
-
|
344
|
-
rubygems_version: 2.6.11
|
351
|
+
rubygems_version: 3.0.3
|
345
352
|
signing_key:
|
346
353
|
specification_version: 4
|
347
354
|
summary: Bing Ads Ruby SDK
|
@@ -406,6 +413,8 @@ test_files:
|
|
406
413
|
- spec/fixtures/campaign_management/get_uet_tags_by_ids/standard_response.xml
|
407
414
|
- spec/fixtures/campaign_management/set_ad_extensions_associations/standard.xml
|
408
415
|
- spec/fixtures/campaign_management/set_ad_extensions_associations/standard_response.xml
|
416
|
+
- spec/fixtures/campaign_management/set_shared_entity_associations/standard.xml
|
417
|
+
- spec/fixtures/campaign_management/set_shared_entity_associations/standard_response.xml
|
409
418
|
- spec/fixtures/campaign_management/update_conversion_goals/standard.xml
|
410
419
|
- spec/fixtures/campaign_management/update_conversion_goals/standard_response.xml
|
411
420
|
- spec/fixtures/campaign_management/update_uet_tags/standard.xml
|