Traceback (most recent call last):
File "apps/frappe/frappe/desk/form/save.py", line 21, in savedocs
doc.save()
File "apps/frappe/frappe/model/document.py", line 287, in save
return self._save(*args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 309, in _save
return self.insert()
File "apps/frappe/frappe/model/document.py", line 233, in insert
self.run_method("before_insert")
File "apps/frappe/frappe/model/document.py", line 868, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1161, in composer
return composed(self, method, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1144, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "apps/frappe/frappe/model/document.py", line 862, in <lambda>
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "apps/frappe/frappe/event_streaming/doctype/event_producer/event_producer.py", line 25, in before_insert
self.create_event_consumer()
File "apps/frappe/frappe/event_streaming/doctype/event_producer/event_producer.py", line 82, in create_event_consumer
params={'data': json.dumps(self.get_request_data())}
File "apps/frappe/frappe/frappeclient.py", line 303, in post_api
return self.post_process(res)
File "apps/frappe/frappe/frappeclient.py", line 337, in post_process
raise FrappeException(exc)
frappe.frappeclient.FrappeException: FrappeClient Request Failed
Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 59, in application
frappe.api.validate_auth()
File "apps/frappe/frappe/api.py", line 173, in validate_auth
validate_auth_via_api_keys(authorization_header)
File "apps/frappe/frappe/api.py", line 225, in validate_auth_via_api_keys
validate_api_key_secret(api_key, api_secret, authorization_source)
File "apps/frappe/frappe/api.py", line 244, in validate_api_key_secret
doc_secret = frappe.utils.password.get_decrypted_password(doctype, doc, fieldname='api_secret')
File "apps/frappe/frappe/utils/password.py", line 62, in get_decrypted_password
frappe.throw(_("Password not found"), frappe.AuthenticationError)
File "apps/frappe/frappe/__init__.py", line 444, in throw
msgprint(msg, raise_exception=exc, title=title, indicator='red', is_minimizable=is_minimizable, wide=wide, as_list=as_list)
File "apps/frappe/frappe/__init__.py", line 423, in msgprint
_raise_exception()
File "apps/frappe/frappe/__init__.py", line 378, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.AuthenticationError: Password not found
request.js:425 Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 68, in application
response = frappe.api.handle()
File "apps/frappe/frappe/api.py", line 55, in handle
return frappe.handler.handle()
File "apps/frappe/frappe/handler.py", line 31, in handle
data = execute_cmd(cmd)
File "apps/frappe/frappe/handler.py", line 68, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "apps/frappe/frappe/__init__.py", line 1208, in call
return fn(*args, **newargs)
File "apps/frappe/frappe/desk/form/save.py", line 21, in savedocs
doc.save()
File "apps/frappe/frappe/model/document.py", line 287, in save
return self._save(*args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 309, in _save
return self.insert()
File "apps/frappe/frappe/model/document.py", line 233, in insert
self.run_method("before_insert")
File "apps/frappe/frappe/model/document.py", line 868, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1161, in composer
return composed(self, method, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1144, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "apps/frappe/frappe/model/document.py", line 862, in <lambda>
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "apps/frappe/frappe/event_streaming/doctype/event_producer/event_producer.py", line 25, in before_insert
self.create_event_consumer()
File "apps/frappe/frappe/event_streaming/doctype/event_producer/event_producer.py", line 82, in create_event_consumer
params={'data': json.dumps(self.get_request_data())}
File "apps/frappe/frappe/frappeclient.py", line 303, in post_api
return self.post_process(res)
File "apps/frappe/frappe/frappeclient.py", line 337, in post_process
raise FrappeException(exc)
frappe.frappeclient.FrappeException: FrappeClient Request Failed
Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 59, in application
frappe.api.validate_auth()
File "apps/frappe/frappe/api.py", line 173, in validate_auth
validate_auth_via_api_keys(authorization_header)
File "apps/frappe/frappe/api.py", line 225, in validate_auth_via_api_keys
validate_api_key_secret(api_key, api_secret, authorization_source)
File "apps/frappe/frappe/api.py", line 244, in validate_api_key_secret
doc_secret = frappe.utils.password.get_decrypted_password(doctype, doc, fieldname='api_secret')
File "apps/frappe/frappe/utils/password.py", line 62, in get_decrypted_password
frappe.throw(_("Password not found"), frappe.AuthenticationError)
File "apps/frappe/frappe/__init__.py", line 444, in throw
msgprint(msg, raise_exception=exc, title=title, indicator='red', is_minimizable=is_minimizable, wide=wide, as_list=as_list)
File "apps/frappe/frappe/__init__.py", line 423, in msgprint
_raise_exception()
File "apps/frappe/frappe/__init__.py", line 378, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.AuthenticationError: Password not found
Did u get a solutions for this?
yes, resolved
how you solve?
If you are using a private and secret key, the owner should have enough permission on the doctype being queried. The solution I implemented was creating a Super User(Administrator) that can request on all doctype.