You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/guides/google-drive-sync.md
+35-14Lines changed: 35 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,18 +9,17 @@ before upload with the passphrase you choose.
9
9
The passphrase and desktop refresh token are kept in the operating system's
10
10
secure storage. Google never receives the plain server configuration.
11
11
12
-
!!! warning "Drive sync in the official builds is limited"
12
+
!!! warning "A project in testing only admits its own testers"
13
13
14
-
A Google Cloud project stays in **testing** until Google verifies it, and a
15
-
project in testing only admits accounts its owner has added as testers.
16
-
The published Admincraft builds carry this project's client IDs, so signing
17
-
in with any other account is refused with `Error 403: access_denied`, however
18
-
correctly everything else is set up.
14
+
A Google Cloud project starts in **testing**, which admits only the accounts
15
+
its owner listed as testers. Everyone else is refused with
16
+
`Error 403: access_denied`, however correctly the rest is set up. Publishing
17
+
the project lifts that, and for this scope it needs no review: see
18
+
[publish the project](#4-publish-the-project).
19
19
20
-
Two ways round it: build Admincraft with [your own client IDs](#google-cloud-setup),
21
-
which takes about ten minutes and gives you a project you control, or use
22
-
**Backup file**, which needs no account at all and carries the same
23
-
encrypted data between devices.
20
+
Note what the refusal applies to. Signing in still succeeds, because
21
+
identifying you and granting access to Drive are separate steps and only the
22
+
second is gated.
24
23
25
24
## Google Cloud setup
26
25
@@ -45,8 +44,8 @@ secure storage. Google never receives the plain server configuration.
45
44
and gives Admincraft access only to its hidden configuration folder—not to
46
45
the user's other Drive files.
47
46
4. During development, keep the app in **Testing** and add each Google account
48
-
under **Test users**. Testing grants expire after seven days. Publish the app
49
-
when it is ready for general use.
47
+
under **Test users**. Testing grants expire after seven days, so a tester is
48
+
asked to authorise again every week.
50
49
51
50
### 3. Create OAuth clients
52
51
@@ -118,6 +117,24 @@ Desktop applications are public OAuth clients, so an embedded client secret
118
117
cannot be treated as confidential. Keep it out of the repository anyway and
119
118
inject it while building.
120
119
120
+
### 4. Publish the project
121
+
122
+
Open **Google Auth Platform → Audience** and select **Publish app**. Any Google
123
+
account can then sign in, the test-user list stops mattering, and grants no
124
+
longer expire every seven days.
125
+
126
+
There is no review to wait for and nothing to pay. Google only requires its
127
+
verification process for [sensitive and restricted scopes](https://developers.google.com/workspace/drive/api/guides/api-specific-auth),
128
+
and `drive.appdata` is neither: it is classified as non-sensitive, because it
129
+
reaches only the app's own hidden folder and never the user's files. An app
130
+
requesting nothing beyond that publishes immediately, without the unverified-app
131
+
warning or the hundred-user cap those scopes carry.
132
+
133
+
Two things would change that, and both are choices rather than accidents:
134
+
adding a wider Drive scope later moves the project into the sensitive tier and
135
+
its review, and showing a name and logo on the consent screen instead of the
136
+
project's own details needs the lighter brand verification.
137
+
121
138
## Build with the client IDs
122
139
123
140
Web development:
@@ -185,11 +202,15 @@ for explicit recovery.
185
202
| --- | --- |
186
203
| This build is not registered in its Google Cloud project | No Android OAuth client matches this package name and signing certificate. Register the fingerprint of the build you are running, as above. |
187
204
| Setup required | The build carries no client IDs. They are compiled in, so a build made without them cannot sign in at all; check the repository secrets and rebuild. |
205
+
| The project is still in testing | Publish it, or add the account under **Test users**. |
188
206
| Sign-in was cancelled | The account chooser was dismissed. |
189
207
190
208
Two things that look like app faults and are not:
191
209
192
-
- The account must be listed under **Test users** while the Google Auth
193
-
Platform app is in testing. Any other account is refused.
210
+
- Signing in and reaching Drive are separate steps. Admincraft asks who you are
211
+
when it starts, which any account may answer, and asks for the Drive scope
212
+
only when you sign in from **Data & Sync**. A testing project refuses the
213
+
second while allowing the first, which looks like an account that signs in
214
+
and then cannot sync.
194
215
- The Drive API must be enabled in the same project the OAuth clients belong
195
216
to. Sign-in can succeed while every sync then fails.
0 commit comments