ErikEvenson / googleads-node-lib

17 stars 23 forks source link

Allow overriding API version #6

Open c960657 opened 8 years ago

c960657 commented 8 years ago

The API version v201509 is no longer supported.

This change updates to the latest version. Additionally it makes it easier to stay up-to-date without having to upgrade this library (assuming the API change is sufficiently backwards compatible).

c960657 commented 8 years ago

The patch also removes some fields that are no longer available in v201605.

campaign.activeViewCpmEnabled was removed in v201601: https://developers.google.com/adwords/api/docs/reference/#v201601

I could not find an explicit mention of the removal of budget.period and campaign.period in the changelog, but the removal can be seen be verifying the list of selector fields: https://developers.google.com/adwords/api/docs/appendix/selectorfields#v201601-BudgetService https://developers.google.com/adwords/api/docs/appendix/selectorfields#v201603-BudgetService

https://developers.google.com/adwords/api/docs/appendix/selectorfields#v201601-CampaignService https://developers.google.com/adwords/api/docs/appendix/selectorfields#v201603-CampaignService

c960657 commented 7 years ago

@nickvirden I added a usage example to README.md. Specifying the API version is not required, so BC is preserved. But it is probably good practice to be explicit about the API version rather than rely on the default defined by the library.

nickvirden commented 7 years ago

You're right. My wording was a bit poor. The problem you addressed with your initial commit was fine. However, the default version of the SOAP API defined by the library has been 'sunset', in Google's own words, so it no longer exists for public usage. Moreover, Google specifies sunset dates for each API version, so if this package is not maintained regularly to account for API version updates, then your version definition commit becomes necessary to set explicitly.

On that note, if anyone is running into issues related to API versioning, my fork of googleads-node-lib incorporates @c960657 's suggested changes by this pull request. When using googleads-node-lib in package.json, you can point it to my repo: https://github.com/nickvirden/googleads-node-lib

SOAP API deprecation schedule: https://developers.google.com/adwords/api/docs/sunset-dates