fastlane: [!] Google Api Error: forbidden: The caller does not have permission - The caller does not have permission

New Issue Checklist

Issue Description

fastlane supply init get error

Complete output when running fastlane, including the stack trace and command used
[!] Google Api Error: forbidden: The caller does not have permission - The caller does not have permission

Environment

✅ fastlane environment ✅

Stack

Key Value
OS 10.15.3
Ruby 2.6.3
Bundler? false
Git git version 2.24.1
Installation Source /usr/local/bin/fastlane
Host Mac OS X 10.15.3 (19D76)
Ruby Lib Dir /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
OpenSSL Version LibreSSL 2.8.3
Is contained false
Is homebrew false
Is installed via Fabric.app false
Xcode Path /Applications/Xcode.app/Contents/Developer/
Xcode Version 11.3.1

System Locale

Variable Value
LANG
LC_ALL en_US.UTF-8
LANGUAGE

fastlane files:

`./Fastfile`
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:android)

platform :android do
  desc "Runs all the tests"
  lane :test do
    gradle(task: "test")
  end

  desc "Submit a new Beta Build to Crashlytics Beta"
  lane :beta do
    gradle(task: "clean assembleRelease")
    crashlytics
  
    # sh "your_script.sh"
    # You can also use other beta testing services here
  end

  desc "Deploy a new version to the Google Play"
  lane :deploy do
    gradle(task: "clean assembleRelease")
    upload_to_play_store
  end
end

`./Appfile`
json_key_file("270907-d5a5e8fe0674.json")
package_name("net.byga.bygaapp")

fastlane gems

Gem Version Update-Status
fastlane 2.143.0 ✅ Up-To-Date

Loaded fastlane plugins:

No plugins Loaded

Loaded gems
Gem Version
did_you_mean 1.3.0
slack-notifier 2.3.2
atomos 0.1.3
CFPropertyList 2.3.6
claide 1.0.3
colored2 3.1.2
nanaimo 0.2.6
xcodeproj 1.15.0
rouge 2.0.7
xcpretty 0.3.0
terminal-notifier 2.0.0
unicode-display_width 1.6.1
terminal-table 1.8.0
plist 3.5.0
public_suffix 2.0.5
addressable 2.7.0
multipart-post 2.0.0
word_wrap 1.0.0
tty-screen 0.7.1
tty-cursor 0.7.1
tty-spinner 0.9.3
babosa 1.0.3
colored 1.2
highline 1.7.10
commander-fastlane 4.4.6
excon 0.72.0
faraday 0.17.3
unf_ext 0.0.7.6
unf 0.1.4
domain_name 0.5.20190701
http-cookie 1.0.3
faraday-cookie_jar 0.0.6
faraday_middleware 0.13.1
fastimage 2.1.7
gh_inspector 1.1.3
json 2.1.0
mini_magick 4.10.1
multi_xml 0.6.0
rubyzip 1.3.0
security 0.1.3
xcpretty-travis-formatter 1.0.0
dotenv 2.7.5
bundler 1.17.2
naturally 2.2.0
simctl 1.6.8
jwt 2.1.0
uber 0.1.0
declarative 0.0.10
declarative-option 0.1.0
representable 3.0.4
retriable 3.1.2
mini_mime 1.0.2
multi_json 1.14.1
signet 0.13.0
memoist 0.16.2
os 1.0.1
googleauth 0.11.0
httpclient 2.8.3
google-api-client 0.36.4
google-cloud-env 1.3.1
google-cloud-errors 1.0.0
google-cloud-core 1.5.0
digest-crc 0.5.1
google-cloud-storage 1.25.1
emoji_regex 1.0.1
jmespath 1.4.0
aws-eventstream 1.0.3
aws-sigv4 1.1.1
aws-sdk-core 2.11.463
aws-sdk-resources 2.11.463
aws-sdk 2.11.463
forwardable 1.2.0
logger 1.3.0
stringio 0.0.2
ipaddr 1.2.2
openssl 2.1.2
ostruct 0.1.0
strscan 1.0.0
date 2.0.0
fileutils 1.1.0
etc 1.0.1
io-console 0.4.7
zlib 1.0.0
libxml-ruby 3.1.0
rexml 3.1.9
psych 3.1.0
mutex_m 0.1.0

generated on: 2020-03-12

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 5
  • Comments: 47 (7 by maintainers)

Most upvoted comments

Okay, figured it out. For anyone else facing the same issue, you probably need to know this:

  • after creating your service account, you need to add it as Release Manager on the Google Play Console under Users & permissions -> Invite New User and use the email of your service account from the Google Developers Console. Add User to complete the process 🎉

Thanks @bradyt

I got the error “Google Api Error: forbidden: The caller does not have permission” and it turned out I didn’t specify my app in “app permission” tab:

Screen Shot 2020-10-28 at 10 28 41 PM

I had this same problem as everyone else, validate_play_store_json_key was successful but had the error Google Api Error: forbidden

I found that the service-account that I created didn’t have enough permissions, when I provided the same service-account that we use currently ship our binary, I was able to resolve this.

Had same problem, was able to solve by doing what @manenga said last about:

  • after creating your service account, you need to add it as Release Manager on the Google Play Console under Users & permissions -> Invite New User and use the email of your service account from the Google Developers Console. Add User to complete the process 🎉

I’m seeing the same error. validate_play_store_json_key is successful but upload_to_play_store returns the error-

fastlane finished with errors

[!] Google Api Error: forbidden: The caller does not have permission - The caller does not have permission

I was able to resolve this issue. I got an Api error for my service account which had the same permissions granted as that of a Release manager, but the role was set to custom.

Turns out I had to explicitly choose “Project lead” or “Release manager” as the role for the service account for it to work, even though the permissions were the same as that of a release manager. Hope this helps everyone facing this same issue

So I searched the internet for “google play console service accounts”, and found this link https://developers.google.com/android-publisher/getting_started.

They have the following similar instructions:

  1. Go to the API Access page on the Google Play Console.
  2. Under Service Accounts, click Create Service Account.
  3. Follow the instructions on the page to create your service account.
  4. Once you’ve created the service account on the Google Developers Console, click Done. The API Access page automatically refreshes, and your service account will be listed.
  5. Click Grant Access to provide the service account the necessary rights to perform actions.

In particular, step four there.

Do you see the same instructions at your location?

@janpio you can close the ticket it turns out that our programmers have already used the name of the application (package_name), only on another goolge acount.

@SchlagerKhan sorry, looked at the wrong message in the other issue. Seems you indeed have the same problem.