Thanks to , and continuing on Frank's answer .. here's a few additional observations
1. serviceAccountKey.json
is not the actual file name
Coming from work on the Android client side, I thought that was a fixed name the way that google-services.json
is in the Android project. However, it's just a place-holder name. The file is generated with a unique name from the Google Web UI, and that is the file to apply where the place-holder is referenced.
2. You can only get the file one time
Going through the docs there, I thought maybe you can use an existing service account to get that file. However, after some looking around .. I tried creating a new one and from the dialog it gives there, the checkbox tells us you can only get that .json file one time - at time Service Account item is created.
The docs discuss creating a Service Account, but I didn't see much mention otherwise of getting that .json file.. so that's why it seemed ambigious until I saw this dialog.

3. The screen where you add a new service account
That Admin UI has a lot going on, including from the docs a variety of references to go to IAM Setup, Roles, etc.
At the risk of stating the obvious (but may help someone else arrive here faster than I did), - this was the view where I add the Service Acct and get the dialog to download the .json file.
