Status Update
Comments
go...@google.com <go...@google.com> #2
Hello,
Thank you for reaching out to us!
Sorry to inform you that the issue cannot be fixed. I will proceed to close this issue now. In case you want to report a new issue, please do not hesitate to create a new Issue Tracker thread describing your situation.
[Deleted User] <[Deleted User]> #3
Hello.
I've been observing the same problem with Gmail api for the last few days. Same problem:
googleapiclient.errors.HttpError
<HttpError 403 when requesting https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest returned "The caller does not have permission">
I am using Cloud Function (python) and G-Suite service account (with token file). For the last 6 months everything was all right up till now.
The code is simple (python).
from googleapiclient.discovery import build
from google.auth.transport.requests import Request
def build_gmail_client():
creds = pickle.loads(...) -- token file/data
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
print('Please, refresh manually') -- e.g. new token
return None
new_data = pickle.dumps(creds) -- save new token
service = build('gmail', 'v1', credentials=creds, cache_discovery=False)
return service
fi...@swisschemgas.com <fi...@swisschemgas.com> #4
I can also confirm the same issue. Until today this error would go away after a few retries, but now it seems that it is failing constantly. I didn't change anything in the code and have setup service accounts and permissions correctly (everything worked until around June 25-30th)
Can we get an ETA for this issue as we are blocked from sending any emails via our internal tools
_SCOPES = ['https://www.googleapis.com/auth/gmail.readonly', 'https://www.googleapis.com/auth/gmail.send']
self.credentials = service_account.Credentials.from_service_account_file(credentials_file, scopes=GMail._SCOPES, subject=email)
self.service = build('gmail', 'v1', credentials=self.credentials)
where credentials_file
is the json application credentials and email
is the authorized user's email address (this call is meant for domain wide delegation)
go...@google.com <go...@google.com> #5
Hi !
Thank you all for reporting this. I have filed this behaviour internally.
Could you share a screenshot with the full error message displayed? Does this behaviour persists across computers and users of your organization?
Best regards,
ji...@sdhrc.net <ji...@sdhrc.net> #6
import googleapiclient.discovery
from googleapiclient.discovery import build
from apiclient import discovery
from google.oauth2 import service_account
def send_message( message,user_id):
scopes=[
"
]
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
delegated_credentials = credentials.with_subject(user_id)
try:
service = build('gmail', 'v1', credentials=delegated_credentials)
message = (service.users().messages().send(userId=user_id, body=message)
.execute())
fe...@shopper.com.br <fe...@shopper.com.br> #7
Same issue here. Everything was fine until few hours ago
export function googleLogin(onStatusChange) {
return new Promise(resolve => {
gapi.load('client:auth2', function () {
gapi.client.init({
apiKey: '************ MY KEY **************',
clientId: '**MYCLIENTEID**.
ux_mode: 'redirect',
discoveryDocs: ['
scope: '
hosted_domain: '
}).then(function () {
gapi.auth2.getAuthInstance().isSignedIn.listen(onStatusChange);
const usuarioAutenticado = gapi.auth2.getAuthInstance().isSignedIn.get();
onStatusChange(usuarioAutenticado);
resolve(usuarioAutenticado);
if (usuarioAutenticado) {
const profile = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile();
const nomePessoa = profile.getName();
const emailPessoa = profile.getEmail();
const fotoPessoa = profile.getImageUrl();
const url = SHOPPER_URL_APP + 'session';
send(
url,
JSON.stringify({
nome: nomePessoa,
email: emailPessoa,
foto: fotoPessoa
})
);
}
});
});
})
}
ra...@gmail.com <ra...@gmail.com> #8
Traceback (most recent call last):
File "quickstart.py", line 48, in <module>
main()
File "quickstart.py", line 34, in main
service = build('gmail', 'v1', credentials=creds)
File "/home/rtouron/.local/lib/python3.8/site-packages/googleapiclient/_helpers.py", line 134, in positional_wrapper
return wrapped(*args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/googleapiclient/discovery.py", line 264, in build
raise e
File "/home/user/.local/lib/python3.8/site-packages/googleapiclient/discovery.py", line 245, in build
content = _retrieve_discovery_doc(
File "/home/user/.local/lib/python3.8/site-packages/googleapiclient/discovery.py", line 308, in _retrieve_discovery_doc
raise HttpError(resp, content, uri=actual_url)
googleapiclient.errors.HttpError: <HttpError 403 when requesting
ft...@gmail.com <ft...@gmail.com> #9
Here is the stacktrace of the error
```
File "/srv/lib/gmail.py", line 74, in __init__
self.service = build("gmail", "v1", credentials=self.credentials)
File "/env/lib/python3.7/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/env/lib/python3.7/site-packages/googleapiclient/discovery.py", line 231, in build
raise e
File "/env/lib/python3.7/site-packages/googleapiclient/discovery.py", line 223, in build
requested_url, discovery_http, cache_discovery, cache, developerKey)
File "/env/lib/python3.7/site-packages/googleapiclient/discovery.py", line 276, in _retrieve_discovery_doc
raise HttpError(resp, content, uri=actual_url)
googleapiclient.errors.HttpError: <HttpError 403 when requesting
```
Not 100% sure but I think some of the engineers have been able to access it through their development. The production version is running on Google App Engine. Not sure the rest of the people here where they are running it from
[Deleted User] <[Deleted User]> #10
We have the same problem in our algorithms:
Traceback (most recent call last):
File "/.../module/email_functions.py", line 149, in send_email
service = discovery.build('gmail', 'v1', http=http)
File "/.../site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/.../python3.5/site-packages/googleapiclient/discovery.py", line 230, in build
raise e
File "/.../python3.5/site-packages/googleapiclient/discovery.py", line 222, in build
requested_url, discovery_http, cache_discovery, cache)
File "/.../python3.5/site-packages/googleapiclient/discovery.py", line 272, in _retrieve_discovery_doc
raise HttpError(resp, content, uri=actual_url)
googleapiclient.errors.HttpError: <HttpError 403 when requesting
My problem is critical because this is having great impact in our operations company.
Regards
lu...@gmail.com <lu...@gmail.com> #11
I keep getting the same error as everyone else: HttpError 403 when requesting
af...@gmail.com <af...@gmail.com> #12
i see that a lot of people its experiencing the same error:
File "/...python3.5/site-packages/googleapiclient/discovery.py", line 272, in _retrieve_discovery_doc
raise HttpError(resp, content, uri=actual_url)
googleapiclient.errors.HttpError: <HttpError 403 when requesting
Please, can someone assist us ASAP?
This have massive impact in our company.
Thanks!
df...@gmail.com <df...@gmail.com> #13
do...@tryroots.io <do...@tryroots.io> #14
21...@gmail.com <21...@gmail.com> #15
Error Message:
File "/webapp/biller/biller/lib/gmailservice.py", line 93, in getmessageids
self.service = self.getgmailservice()
File "/webapp/biller/biller/lib/gmailservice.py", line 74, in getgmailservice
service = build('gmail', 'v1', credentials=creds)
File "/webapp/biller/prodenv/lib/python3.7/site-packages/googleapiclient/_helpers.py", line 134, in positional_wrapper
return wrapped(*args, **kwargs)
File "/webapp/biller/prodenv/lib/python3.7/site-packages/googleapiclient/discovery.py", line 241, in build
raise e
File "/webapp/biller/prodenv/lib/python3.7/site-packages/googleapiclient/discovery.py", line 225, in build
requested_url, discovery_http, cache_discovery, cache, developerKey
File "/webapp/biller/prodenv/lib/python3.7/site-packages/googleapiclient/discovery.py", line 285, in _retrieve_discovery_doc
raise HttpError(resp, content, uri=actual_url)
googleapiclient.errors.HttpError: <HttpError 403 when requesting
My code take care of refreshing token creds, however just to be sure:
Removed token file and when rerun I could recreate token file by re-authenticating again. However the error is not resolved with refreshed token file.
au...@saxecap.com <au...@saxecap.com> #16
je...@jetzhou.com <je...@jetzhou.com> #17
mi...@gem.com <mi...@gem.com> #18
ko...@gmail.com <ko...@gmail.com> #19
Error Message:
File "/webapp/biller/biller/lib/gmailservice.py", line 93, in getmessageids
self.service = self.getgmailservice()
File "/webapp/biller/biller/lib/gmailservice.py", line 74, in getgmailservice
service = build('gmail', 'v1', credentials=creds)
File "/webapp/biller/prodenv/lib/python3.7/site-packages/googleapiclient/_helpers.py", line 134, in positional_wrapper
return wrapped(*args, **kwargs)
File "/webapp/biller/prodenv/lib/python3.7/site-packages/googleapiclient/discovery.py", line 241, in build
raise e
File "/webapp/biller/prodenv/lib/python3.7/site-packages/googleapiclient/discovery.py", line 225, in build
requested_url, discovery_http, cache_discovery, cache, developerKey
File "/webapp/biller/prodenv/lib/python3.7/site-packages/googleapiclient/discovery.py", line 285, in _retrieve_discovery_doc
raise HttpError(resp, content, uri=actual_url)
googleapiclient.errors.HttpError: <HttpError 403 when requesting
My code take care of refreshing token creds, however just to be sure:
Removed token file and when rerun I could recreate token file by re-authenticating again. However the error is not resolved with refreshed token file.
yi...@vela.partners <yi...@vela.partners> #20
Same issue. This issue seems system-wide; and suggest that the 'Severity' of this bug should be increased to 'S1'. Our application has stopped working and all users are affected.
Our environment:
- App Engine
- Python 3.7
- Using pickle credentials from one G Suite account
To troubleshoot, we refreshed the access tokens; but it is still not working.
The error message is below:
"googleapiclient.errors.HttpError: <HttpError 403 when requesting
This issue only happens with the Gmail API, not with other Google APIs.
[Deleted User] <[Deleted User]> #21
I'm having the exact same issue like yi...@vela.partner.
App Engine, Python 3.7 and pickled credentials (G Suite account)
Tokens refreshened as suggested, but still get nothing by the http error:
"googleapiclient.errors.HttpError: <HttpError 403 when requesting
At the moment, no other API has experienced the same problem.
am...@farmersbusinessnetwork.com <am...@farmersbusinessnetwork.com> #22
vv...@vigeotechnologies.com <vv...@vigeotechnologies.com> #23
ad...@mail.thebluebook.com <ad...@mail.thebluebook.com> #24
Traceback (most recent call last):
File "/progress/oworks/google_api/email/compose/python/sm_email_driver.py", line 114, in email_looper
self.gmail_service = get_gmail_service(self.gmail_addr)
File "/progress/oworks/google_api/email/compose/python/email_compose_services.py", line 38, in get_gmail_service
gmail_service = discovery.build('gmail', 'v1', http=http)
File "/usr/lib/python2.7/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/googleapiclient/discovery.py", line 231, in build
raise e
HttpError: <HttpError 403 when requesting
eg...@gaute.vetsj.com <eg...@gaute.vetsj.com> #25
am...@gmail.com <am...@gmail.com> #26
sc...@gmail.com <sc...@gmail.com> #27
I've a trigger that had been working for a while start failing every hour for the last few days.
kf...@rocktoptech.com <kf...@rocktoptech.com> #28
[Deleted User] <[Deleted User]> #29
am...@labnol.org <am...@labnol.org> #30
errors: [
{
message: 'Unreachable Service: gmail',
domain: 'global',
reason: 'failedPrecondition'
}
]
pr...@gmail.com <pr...@gmail.com> #31
ni...@aenima-x.com.ar <ni...@aenima-x.com.ar> #32
ku...@gmail.com <ku...@gmail.com> #33
Error: <HttpError 403 when requesting
None
[Deleted User] <[Deleted User]> #34
<HttpError 403 when requesting
kf...@rocktoptech.com <kf...@rocktoptech.com> #35
1. Our pipeline was able to authenticate and send out an email through the Gmail API at July 6, 2020 10:00 AM CST. Other runs prior to that have all been successful.
2. Our pipeline failed to authenticate through the Gmail API sometime around July 6, 2020 11:30 AM CST.
From that point every attempt to authenticate through the API has failed. So it seems that something may have happened in that time frame.
[Deleted User] <[Deleted User]> #36
This is production for us.
er...@iadgroup.mx <er...@iadgroup.mx> #37
{'statusCode': 400, 'body': '{"message": "<HttpError 403 when requesting
We get that every time, we make sure that the domain-wide delegation is active in our service account and that the scopes are correct
ps...@gmail.com <ps...@gmail.com> #38
[Deleted User] <[Deleted User]> #39
Surfaced just around 10am, echoing what's been said above ^
This is a serious outage for my company as well.
da...@gmail.com <da...@gmail.com> #40
mo...@gmail.com <mo...@gmail.com> #41
zk...@gmail.com <zk...@gmail.com> #42
ma...@gmail.com <ma...@gmail.com> #43
pi...@palenca.com <pi...@palenca.com> #44
di...@claralabs.com <di...@claralabs.com> #45
ma...@gmail.com <ma...@gmail.com> #46
I'm hoping someone can provide a cached version of the discovery response if they have one readily available?
le...@relaypro.com <le...@relaypro.com> #47
HttpError: <HttpError 403 when requesting
after 12:30 pm ET today.
[Deleted User] <[Deleted User]> #48
same issue here, been happening since July 2.
even trying simple curl -v https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest
returns 403
tr...@rentalsinsf.com <tr...@rentalsinsf.com> #49
service = build('gmail', 'v1', credentials=creds)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/googleapiclient/discovery.py", line 232, in build
raise e
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/googleapiclient/discovery.py", line 224, in build
requested_url, discovery_http, cache_discovery, cache, developerKey)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/googleapiclient/discovery.py", line 277, in _retrieve_discovery_doc
raise HttpError(resp, content, uri=actual_url)
googleapiclient.errors.HttpError: <HttpError 403 when requesting
Solution posted in #73 worked for me as well.
to...@gmail.com <to...@gmail.com> #50
Is there any estimating to how long it would take?
bl...@gmail.com <bl...@gmail.com> #51
co...@upswift.io <co...@upswift.io> #52
ra...@redsift.io <ra...@redsift.io> #53
[Deleted User] <[Deleted User]> #54
rt...@ignetworks.com <rt...@ignetworks.com> #55
[Deleted User] <[Deleted User]> #56
ma...@gmail.com <ma...@gmail.com> #57
jo...@printwithme.com <jo...@printwithme.com> #58
za...@gmail.com <za...@gmail.com> #59
yo...@gmail.com <yo...@gmail.com> #60
th...@brkconcepts.com <th...@brkconcepts.com> #61
after 12:30 pm ET today.
This is mission-critical application for us.
co...@upswift.io <co...@upswift.io> #62
[Deleted User] <[Deleted User]> #63
mk...@happymoney.com <mk...@happymoney.com> #64
[Deleted User] <[Deleted User]> #65
di...@claralabs.com <di...@claralabs.com> #66
em...@relaypro.com <em...@relaypro.com> #67
al...@baydin.com <al...@baydin.com> #68
mm...@cei.ventures <mm...@cei.ventures> #69
[Deleted User] <[Deleted User]> #70
[Deleted User] <[Deleted User]> #71
+1 - SEV1 in Prod
kf...@rocktoptech.com <kf...@rocktoptech.com> #72
ja...@gmail.com <ja...@gmail.com> #73
As a temporary workaround, the discovery document is available at:
The Python client library can use this file stored locally rather than trying to retrieve it from googleapis.com:
discovery_doc = json.load('gmail-api.json')
gmail_service = googleapiclient.discovery.build_from_document(discovery_doc)
more details at:
there should be similar methods for other language libraries.
tr...@gmail.com <tr...@gmail.com> #74
Today suddlenly we are having this issue:
googleapiclient.errors.HttpError: <HttpError 403 when requesting
The program was working fine but now we have the mentioned error.
Please, we need to find an urgent solution.
Thanks a lot.
Patricio.
sa...@gorgias.com <sa...@gorgias.com> #75
+1 - SEV1 in Prod
We get the following error for all our calls on https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest
:
b'{\n "error": {\n "code": 403,\n "message": "The caller does not have permission",\n "status": "PERMISSION_DENIED"\n }\n}\n'
tr...@gmail.com <tr...@gmail.com> #76
[Deleted User] <[Deleted User]> #77
It's work!
thanks
[Deleted User] <[Deleted User]> #78
[Deleted User] <[Deleted User]> #79
Our logs indicate this began happening around 12:50 pm EDT (16:50 UTC)
`HttpError: <HttpError 403 when requesting
It appears to affect those with only the `email.send` scopes
ma...@gmail.com <ma...@gmail.com> #80
Tried the more recent code from
and after the initial web browser authorization popup I also get the 403 error.
Posted fix using a local json file for discovery works. Thanks !
ad...@mail.thebluebook.com <ad...@mail.thebluebook.com> #81
[Deleted User] <[Deleted User]> #82
Any update when this issue will get resolved?
di...@onetick.com <di...@onetick.com> #83
googleapiclient.errors.HttpError: <HttpError 403 when requesting
vv...@vigeotechnologies.com <vv...@vigeotechnologies.com> #84
1. download gmail-api.json from location as per #73
2. replace:
GMAIL_SERVICE = build('gmail', 'v1', http=creds.authorize(Http()))
with:
import json
import googleapiclient
DISCOVERY_DOC = json.load(open('gmail-api.json'))
GMAIL_SERVICE = googleapiclient.discovery.build_from_document(DISCOVERY_DOC,http=creds.authorize(Http()))
That workaround seemed to solve our problem...
ch...@pinal.gov <ch...@pinal.gov> #85
ah...@gmail.com <ah...@gmail.com> #86
ar...@centurygroup.ca <ar...@centurygroup.ca> #87
[Deleted User] <[Deleted User]> #88
We are trying the workaround.
hi...@gmail.com <hi...@gmail.com> #89
I keep having 403 when requesting
ya...@mangotalent.com <ya...@mangotalent.com> #90
[Deleted User] <[Deleted User]> #91
any solution
al...@baydin.com <al...@baydin.com> #92
45...@gmail.com <45...@gmail.com> #93
[Deleted User] <[Deleted User]> #94
jp...@fifthpartners.com <jp...@fifthpartners.com> #95
di...@hensenitsolutions.nl <di...@hensenitsolutions.nl> #96
Please fix asap.
mk...@happymoney.com <mk...@happymoney.com> #97
+1 - SEV1
na...@gmail.com <na...@gmail.com> #98
di...@onetick.com <di...@onetick.com> #99
iv...@gmail.com <iv...@gmail.com> #100
co...@gmail.com <co...@gmail.com> #101
"P0: An issue that needs to be addressed immediately and with as many resources as is required. Such an issue causes a full outage or makes a critical function of the product to be unavailable for everyone, without any known workaround."
ro...@moovingon.com <ro...@moovingon.com> #102
ah...@burkanlabs.com <ah...@burkanlabs.com> #103
Need the workaround for Ruby. Trying to apply this monkey patch but not working. Any thoughts? This is impacting few thousand of our users who are not able to send emails.
modulet Google
class APIClient
class Request
def to_env(connection)
method, uri, headers, body = self.to_http_request
# <MonkeyPatch>
if (uri_str == "https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest")
uri_str = "https://raw.githubusercontent.com/googleapis/google-api-go-client/master/gmail/v1/gmail-api.json"
end
# </MonkeyPatch>
http_request = connection.build_request(method) do |req|
req.url(uri_str) # MonkeyPatch
req.headers.update(headers)
req.body = body
end
if self.authorization.respond_to?(:generate_authenticated_request)
http_request = self.authorization.generate_authenticated_request(
:request => http_request,
:connection => connection
)
end
request_env = http_request.to_env(connection)
end
end
end
end
rn...@socialclimb.com <rn...@socialclimb.com> #104
he...@gmail.com <he...@gmail.com> #105
def load_api(user):
creds = None
if os.path.exists('tokens/'+user+'token.pickle'):
with open('tokens/'+user+'token.pickle', 'rb') as token:
creds = pickle.load(token)
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file('apis/'+
user+'.json', SCOPES)
creds = flow.run_local_server(port=0)
with open('tokens/'+user+'token.pickle', 'wb') as token:
pickle.dump(creds, token)
return build('gmail', 'v1', credentials=creds)
an...@gmail.com <an...@gmail.com> #106
you have to download 'gmail-api.json' and just replace
return build('gmail', 'v1', credentials=creds)
with
DISCOVERY_DOC = json.load(open('gmail-api.json'))
service = googleapiclient.discovery.build_from_document(DISCOVERY_DOC, credentials=creds)
return service
mo...@gmail.com <mo...@gmail.com> #107
[Deleted User] <[Deleted User]> #108
[Deleted User] <[Deleted User]> #109
di...@hensenitsolutions.nl <di...@hensenitsolutions.nl> #110
rs...@tcggroupholdings.com <rs...@tcggroupholdings.com> #111
al...@cashbuzz.io <al...@cashbuzz.io> #112
But it now seems to be working again
[Deleted User] <[Deleted User]> #113
tr...@gmail.com <tr...@gmail.com> #114
gu...@gmail.com <gu...@gmail.com> #115
Routing my smartphone data also reproduced the problem locally.
When I switched back to my wireless conection the issue is also occurring on it.
ad...@gmail.com <ad...@gmail.com> #116
au...@saxecap.com <au...@saxecap.com> #117
go...@google.com <go...@google.com> #118
Hi everyone!
This issue has been resolved.
If you run into this behaviour again, please open a new Issue with the necessary details.
Best regards,
as...@prodoscore.com <as...@prodoscore.com> #119
ga...@google.com <ga...@google.com>
[Deleted User] <[Deleted User]> #120
ga...@google.com <ga...@google.com> #121
Hi there, can you confirm if you are still encountering this issue? Can you provide a code snippet that is resulting in you seeing this error?
[Deleted User] <[Deleted User]> #122
We do still face the problem. We use google-api-javascript-client
.
The code snippet is:
await gapi.client.init({
clientId: process.env.OAUTH_CLIENT_ID,
discoveryDocs: ['https://www.googleapis.com/discovery/v1/apis/translate/v2/rest'],
scope: 'profile email',
ux_mode: 'redirect',
redirect_uri: `${window.location.origin}/authCallback`,
});
The request that fails:
GET https://content.googleapis.com/discovery/v1/apis/translate/v2/rest?pp=0&fields=kind%2Cname%2Cversion%2CrootUrl%2CservicePath%2Cresources%2Cparameters%2Cmethods%2CbatchPath%2Cid
The error we get:
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
ja...@google.com <ja...@google.com>
ji...@sdhrc.net <ji...@sdhrc.net> #123
My API calls are now all successful.
Thank you Google
pa...@lumapps.com <pa...@lumapps.com> #124
We do still have the same issue for
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
ti...@googlemail.com <ti...@googlemail.com> #125
jo...@google.com <jo...@google.com> #126
Hi there everybody!
If somebody keeps facing the 403: caller does not have permission
alert, please write back providing the request parameters and body if any. To prevent determinate format issues, could you please clarify if this behaviour only occurs on certains emails contents?
jo...@google.com <jo...@google.com> #127
Hi there!
Since there wasn't any answer on this issue for several days, I am going to close it due to inactivity. If you continue to have any problems, please don't hesitate to open a new case.
Description
Whereas previously it worked without trouble, since 6/30/2020, most API calls return "403: caller does not have permission". If I try repeatedly, some of the calls again work (approx 10%).