Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
1 Vastaa
4129 Näkymät
# I have this request that i send in python.
import requests headers = { 'Content-Type': 'application/json', 'api_key': '1233445677676' # api_key is fake } data = '{"params": {"name":"Opportunity using auth_key","type":"opportunity"}}' response = requests.post('https://ex-test.odoo.com/leads', headers=headers, data=data) print(response.json())

# This is odoo version 15 controller code
import json from werkzeug.exceptions import BadRequest import logging from odoo import http from odoo import models from odoo.http import request _logger = logging.getLogger(__name__) class IrHttp(models.AbstractModel): _inherit = "ir.http" @classmethod def _auth_method_api_key(cls): api_key = request.httprequest.headers.get("api_key") if not api_key: raise BadRequest("Authorization header with API key missing") user_id = request.env["res.users.apikeys"]._check_credentials( scope="rpc", key=api_key ) if not user_id: raise BadRequest("API key invalid") request.uid = user_id class CRMc(http.Controller): @http.route('/leads', type='json', auth="api_key", methods=['POST']) def api_authenticate(self, **kw): if request.uid: rec_id = request.env['crm.lead'].create({ 'create_uid': request.uid, 'type': http.request.params.get('type'), 'name': http.request.params.get('name'), }) return json.dumps(rec_id.id)

I have sent request using postman and the python code i provided.But when i send request i do not get header on the server side and receive error like Authorization header with API key missing.

I am not getting my api_key on the server side.

I have tried in local environment. In local, it works fine. But when i have tried in odoo.sh it is not receiving header.

If anyone has any idea on this please help.

Avatar
Hylkää

Please check the Odoo version running on Odoo.sh, may be different from the version running in the local environment.

Tekijä

Odoo.sh has V15

did you get any solution ?

Paras vastaus

Dear

replace _ by - like this api-key instead of api_key. it will work

Avatar
Hylkää
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
1
jouluk. 23
1972
1
kesäk. 22
2800
1
elok. 25
340
3
heinäk. 24
6115
1
jouluk. 23
2635