googleads / google-ads-php

Google Ads API Client Library for PHP
https://developers.google.com/google-ads/api/docs/client-libs/php
Apache License 2.0
294 stars 262 forks source link

API V10 End of life. How to force newer version? #871

Closed xriter closed 1 year ago

xriter commented 1 year ago

Google deprecating V10 of the api, and will not longer accept requests to it starting Feb 1 2023.

However, this lib still seems to use V10. (Although it states it has support for newer versions of the api as well).

How to 'force' / config it to use a newer version of the api?

fiboknacky commented 1 year ago

This library does support the latest version (v12 as of now) as you can see from this location.

To use the library, you can download the version you like from the releases page. The latest version is v17.1.0, and it supports Google Ads API v12.

If you already follow the steps in README, when you want to upgrade, you can just type composer update and it will update this library too. For more information on composer update, please visit this section.

xriter commented 1 year ago

@fiboknacky I am not sure I fully understand. The library seemingly contains 3 versions of the api: V10,11,12. Will the latest version of the lib always use the latest version of the api also? (What's the reason for the existence of V10 and 11 then?) Is there no setting somewhere that can be set to force the use of a specific API version?

fiboknacky commented 1 year ago

Sure. Let me answer your questions:

Will the latest version of the lib always use the latest version of the api also?

Nope. You need to specify a version to use. As you can see in the examples folder, they all import V12 (the latest version) classes at the beginning of the files.

(What's the reason for the existence of V10 and 11 then?)

Not all users can immediately upgrade to the latest version when it's released because of many reasons. Upgrading for some users and companies take long time, and they may not want to use new features in the latest version. Therefore, those users choose not to do the upgrade right away. That's why don't remove all old versions immediately.

Is there no setting somewhere that can be set to force the use of a specific API version?

No. You need to import the right versions by yourself. Another reason why automatic setting like that may not always work is that the latest version may contain some breaking changes that you may carefully take a look and modify your code accordingly.

xriter commented 1 year ago

@fiboknacky Ooh, of course. I totally overlooked the version number in the imports. That explains everything. Thank you for your extensive explanation.