@particle-academy/google-ads-js 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +12 -1
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,44 @@ All notable changes to `@particle-academy/google-ads-ui`,
4
4
  `@particle-academy/google-ads-js`, `particle-academy/google-ads-php` and
5
5
  `fancy-google-ads`.
6
6
 
7
+ ## [0.3.2] — 2026-11-14
8
+
9
+ ### Added
10
+
11
+ - **Complete setup steps**, in SETUP.md and the registry index. Every Google connector shares
12
+ the same first four, because they share one consent grant:
13
+ - the Cloud project;
14
+ - enabling the API;
15
+ - the consent screen (Branding, Audience with test users, Data Access with this
16
+ connector's scopes);
17
+ - a Web application OAuth client with `{{oauthRedirectUrl}}` as an authorized redirect URI.
18
+ - Google Ads API access and the developer token, applied for on the Google Ads API Overview
19
+ page in Cloud Console: Google no longer issues tokens from the API Center, and access levels
20
+ now belong to the Cloud project. The `developerToken` help text said API Center and is
21
+ corrected;
22
+ - an AGENT step that connects an account and checks it works.
23
+
24
+ Each step cites the Google page it was checked against on 2026-11-14.
25
+ - A one-line `summary`.
26
+
27
+ ## [0.3.1] — 2026-11-08
28
+
29
+ ### Fixed
30
+
31
+ - **The Laravel config's environment variable names now split camelCase**,
32
+ as documented. **Consumer action: none.** The old unsplit names are still
33
+ read as a fallback, so an app that set them keeps working; the new names
34
+ are preferred.
35
+
36
+ | Preferred | Still read |
37
+ |---|---|
38
+ | `GOOGLE_ADS_CLIENT_ID` | `GOOGLE_ADS_CLIENTID` |
39
+ | `GOOGLE_ADS_CLIENT_SECRET` | `GOOGLE_ADS_CLIENTSECRET` |
40
+ | `GOOGLE_ADS_DEVELOPER_TOKEN` | `GOOGLE_ADS_DEVELOPERTOKEN` |
41
+ | `GOOGLE_ADS_ACCESS_TOKEN` | `GOOGLE_ADS_ACCESSTOKEN` |
42
+ | `GOOGLE_ADS_REFRESH_TOKEN` | `GOOGLE_ADS_REFRESHTOKEN` |
43
+ | `GOOGLE_ADS_LOGIN_CUSTOMER_ID` | `GOOGLE_ADS_LOGINCUSTOMERID` |
44
+
7
45
  ## [0.3.0] — 2026-11-08
8
46
 
9
47
  ### Added
package/README.md CHANGED
@@ -33,6 +33,17 @@ dependencies nobody is tracking.
33
33
 
34
34
  Everything below is generated from `provider/manifest.json`, so it cannot disagree with what the packages do.
35
35
 
36
+ ### On Google Ads's side
37
+
38
+ 1. **Create (or reuse) the Google Cloud project for **your app's name**** — Every Google connector shares ONE consent grant (oauth.grant "google"), so use one project and one OAuth client for all of them: one consent and one refresh token per person. ([developers.google.com](https://developers.google.com/workspace/guides/create-project))
39
+ 2. **Enable the Google Ads API** — Console: APIs & Services, Library; open the Google Ads API and click Enable. ([developers.google.com](https://developers.google.com/workspace/guides/enable-apis))
40
+ 3. **Configure the consent screen** — Console: Google Auth platform, Branding (app name **your app's name**, support email, contact email), then Audience: Internal for people inside your Google Workspace organisation only, or External (while it is in testing, add each tester under Test users). Then Data Access, Add or Remove Scopes, and add `https://www.googleapis.com/auth/adwords` beside the scopes of any other Google connector you use. You cannot remove the consent screen once it is configured. ([developers.google.com](https://developers.google.com/workspace/guides/configure-oauth-consent))
41
+ 4. **Create a Web application OAuth client** — Console: Google Auth platform, Clients, Create Client; type Web application. Under Authorized redirect URIs click Add URI and paste **your host's OAuth redirect URL**, then Create. Copy the client ID and client secret when the client is created. ([developers.google.com](https://developers.google.com/workspace/guides/create-credentials))
42
+ 5. **Get Google Ads API access and the developer token** — Developer tokens are no longer issued from the Google Ads API Center: do not sign up there. Apply from the Google Ads API Overview page in Cloud Console. Access now belongs to the Cloud PROJECT: a new project has Test access (test accounts only, 15,000 operations a day); Explorer access is usually approved automatically (up to 2,880 operations a day on production accounts); Basic and Standard need brand verification first. A production call from an unapproved project fails with CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION. ([developers.google.com](https://developers.google.com/google-ads/api/docs/api-policy/developer-token))
43
+ 6. **Connect an account and check it works** — Connect one Google account through **your app's name**'s OAuth flow, then run the check below. ([developers.google.com](https://developers.google.com/google-ads/api/docs/api-policy/developer-token))
44
+
45
+ Every step in full — who does it, what to paste, which credentials it yields, and how you know it worked — is in [SETUP.md](SETUP.md).
46
+
36
47
  ### Credentials
37
48
 
38
49
  A Google Ads connection holds 6 values.
@@ -43,7 +54,7 @@ A Google Ads connection holds 6 values.
43
54
  |---|---|---|---|
44
55
  | **OAuth client ID** | per installation | not secret | The Google Cloud OAuth client shared by the installation. |
45
56
  | **OAuth client secret** | per installation | **secret** | The matching Google Cloud OAuth client secret. |
46
- | **Developer token** | per installation | **secret** | The 22-character Google Ads API developer token from the manager account's API Center. Google says to treat it like a password; one token identifies the installed application. |
57
+ | **Developer token** | per installation | **secret** | The Google Ads API developer token, applied for on the Google Ads API Overview page in Cloud Console (no longer the Ads API Center; access levels now belong to the Cloud project). Google says to treat it like a password; one token identifies the installed application. |
47
58
  | **Access token** | per connected account | **secret** | The connected Google user's one-hour OAuth access token. |
48
59
  | **Refresh token** | per connected account | **secret** | The reusable offline token used to replace expired access tokens. |
49
60
  | **Manager customer ID** *(optional)* | per connected account | not secret | Optional. The manager account's 10-digit customer ID without hyphens. Required when the OAuth user reaches a client through that manager; omit it for direct access. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@particle-academy/google-ads-js",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Google Ads for Node — the service descriptor, its faker, its webhook verification, and one function per operation. Plain HTTP on @particle-academy/fancy-connector-core; no vendor SDK.",
5
5
  "repository": {
6
6
  "type": "git",