Skip to Content
Odoo เมนู
  • ลงชื่อเข้าใช้
  • ทดลองใช้ฟรี
  • แอป
    การเงิน
    • ระบบบัญชี
    • ระบบการออกใบแจ้งหนี้
    • ระบบบัญชีรายจ่าย
    • ระบบการจัดการข้อมูลผ่านสเปรดชีต (BI)
    • เอกสาร
    • ระบบลงลายเซ็น
    การขาย
    • ลูกค้าสัมพันธ์
    • การขาย
    • POS ร้านค้า
    • POS ร้านอาหาร
    • ระบบสมัครสมาชิก
    • การเช่า
    การจัดการเว็บไซต์
    • เครื่องมือสร้างเว็บไซต์
    • อีคอมเมิร์ซ
    • บล็อก
    • ฟอรั่ม
    • ไลฟ์แชท
    • ระบบการอบรมออนไลน์
    ซัพพลายเชน
    • คลังสินค้า
    • ระบบการผลิต
    • PLM
    • ระบบการจัดซื้อ
    • การซ่อมบำรุง
    • ระบบจัดการคุณภาพ
    ทรัพยากรบุคคล
    • ข้อมูลพนักงาน
    • ระบบสรรหาบุคลากร
    • ระบบการลา
    • การประเมิน
    • ระบบการแนะนำพนักงาน
    • ระบบจัดการยานพาหนะ
    การตลาด
    • โซเชียลมาร์เก็ตติ้ง
    • การตลาดผ่านอีเมล
    • ระบบการตลาดผ่าน SMS
    • ระบบการจัดงานอีเวนต์
    • การตลาดแบบอัตโนมัติ
    • ระบบแบบสำรวจ
    การบริการ
    • โปรเจกต์
    • ระบบบันทึกเวลา
    • ระบบการจัดการบริการภาคสนาม
    • ระบบดูแลช่วยเหลือ
    • การวางแผน
    • การนัดหมาย
    ประสิทธิผล
    • ระบบแสดงความคิดเห็น
    • Artificial Intelligence
    • ไอโอที
    • VoIP
    • คลังข้อมูล
    • WhatsApp
    แอปพลิเคชันของบุคคลที่สาม Odoo สตูดิโอ แพลตฟอร์มคลาวด์ของ Odoo
  • อุตสาหกรรม
    การค้าปลีก
    • ร้านขายหนังสือ
    • ร้านขายเสื้อผ้า
    • ร้านขายเฟอร์นิเจอร์
    • ร้านขายของชำ
    • ร้านขายฮาร์ดแวร์
    • ร้านขายของเล่น
    อาหาร & การบริการ
    • บาร์และผับ
    • ร้านอาหาร
    • อาหารฟาสต์ฟู้ด
    • เกสต์เฮ้าส์
    • ตัวแทนจำหน่ายเครื่องดื่ม
    • โรงแรม
    อสังหาริมทรัพย์
    • Real Estate Agency
    • บริษัทสถาปัตยกรรม
    • บริษัทรับเหมา
    • Property Management
    • การจัดสวน
    • สมาคมเจ้าของอสังหาริมทรัพย์
    ปรึกษา
    • สำนักงานบัญชี
    • Odoo พาร์ทเนอร์
    • เอเจนซี่การตลาด
    • สำนักงานกฎหมาย
    • บริการสรรหาบุคลากร
    • การตรวจสอบและการรับรอง
    ระบบการผลิต
    • Textile
    • เหล็ก
    • เฟอร์นิเจอร์
    • อาหาร
    • โรงผลิตเบียร์
    • ของขวัญขององค์กร
    สุขภาพ & ฟิตเนส
    • ชมรมกีฬา
    • ร้านขายแว่นตา
    • ฟิตเนส
    • ผู้ประกอบวิชาชีพด้านสุขภาพ
    • ร้านขายยา
    • ร้านทำผม
    Trades
    • ช่างซ่อม
    • ฮาร์ดแวร์และการสนับสนุนด้านไอที
    • ระบบพลังงานแสงอาทิตย์
    • ช่างทำรองเท้า
    • บริการทำความสะอาด
    • HVAC Services
    อื่น ๆ
    • Nonprofit Organization
    • สำนักงานสิ่งแวดล้อม
    • ร้านเช่าป้ายโฆษณา
    • การถ่ายภาพ
    • ร้านเช่าจักรยาน
    • ตัวแทนจำหน่ายซอฟต์แวร์
    Browse all Industries
  • คอมมูนิตี้
    ศึกษา
    • บทเรียน
    • เอกสารกำกับโปรแกรม
    • การรับรอง
    • การฝึกอบรม
    • บล็อก
    • พอดแคสต์
    เพิ่มศักยภาพให้กับการศึกษา
    • โปรแกรมการศึกษา
    • Scale Up! Business Game
    • เยี่ยมชม Odoo
    รับซอฟต์แวร์
    • ดาวน์โหลด
    • เปรียบเทียบรุ่น
    • เผยแพร่
    ทำงานร่วมกัน
    • Github
    • ฟอรั่ม
    • ระบบการจัดงานอีเวนต์
    • การแปล
    • ร่วมเป็นพาร์ทเนอร์
    • Services for Partners
    • ลงทะเบียนเพื่อสร้างบัญชีบริษัทของคุณ
    รับบริการ
    • ค้นหาพาร์ทเนอร์
    • ค้นหานักบัญชี
    • พบกับที่ปรึกษา
    • บริการติดตั้งระบบเพื่อใช้งาน
    • ข้อมูลอ้างอิงลูกค้า
    • การสนับสนุน
    • อัปเกรด
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    รับการสาธิต
  • ราคา
  • ช่วยเหลือ
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
All Posts คน เหรียญรางวัล
แท็ก (View all)
odoo accounting v14 pos v15
เกี่ยวกับฟอรั่มนี้
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
All Posts คน เหรียญรางวัล
แท็ก (View all)
odoo accounting v14 pos v15
เกี่ยวกับฟอรั่มนี้
ช่วยเหลือ

Error when trying to authenticate through API (v14)

ติดตาม

รับการแจ้งเตือนเมื่อมีกิจกรรมในโพสต์นี้

คำถามนี้ถูกตั้งค่าสถานะ
authenticationapi
5 ตอบกลับ
13547 มุมมอง
อวตาร
Norb

Hi,

I follow the docs: https://www.odoo.com/documentation/14.0/webservices/odoo.html

I am trying to make a test connection to demo as shown in the example: $info = ripcord::client('https://demo.odoo.com/start')->start();

Everything goes well. I get the host, database, username, and password.

When I call $common->version(); I get the correct response.

But when trying to $uid = $common->authenticate($db, $username, $password, array()); I get the following error:

Traceback (most recent call last): File "/home/odoo/src/odoo/14.0/odoo/addons/base/controllers/rpc.py", line 69, in xmlrpc_2 response = self._xmlrpc(service) File "/home/odoo/src/odoo/14.0/odoo/addons/base/controllers/rpc.py", line 49, in _xmlrpc result = dispatch_rpc(service, method, params) File "/home/odoo/src/odoo/14.0/odoo/http.py", line 140, in dispatch_rpc result = dispatch(method, params) File "/home/odoo/src/odoo/14.0/odoo/service/common.py", line 56, in dispatch return g[exp_method_name](*params) File "/home/odoo/src/odoo/14.0/odoo/service/common.py", line 27, in exp_authenticate return res_users.authenticate(db, login, password, {**user_agent_env, 'interactive': False}) TypeError: 'list' object is not a mapping

What am I doing wrong?

0
อวตาร
ละทิ้ง
Norb
ผู้เขียน

Thank you, Piotr!

This is a correct answer:

$common = ripcord::client("$url/xmlrpc/2/common");

$version = $common->version();

$uid = $common->authenticate($db, $username, $password, $version);

อวตาร
Sudhir Arya (ERP Harbor Consulting Services)
คำตอบที่ดีที่สุด

Try to pass JSON as the last argument instead of an array.

$uid = $common->authenticate($db, $username, $password, {});


1
อวตาร
ละทิ้ง
อวตาร
Piotr
คำตอบที่ดีที่สุด

I had the same situation. In my case working solution:

$common = ripcord::client("$url/xmlrpc/2/common");
$version = $common->version();
$uid = $common->authenticate($db, $username, $password, $version);

Please confirm, if this solution works to you.

2
อวตาร
ละทิ้ง
อวตาร
Norb
ผู้เขียน คำตอบที่ดีที่สุด

Thank you.

This will trigger PHP Parse error error: $uid = $common->authenticate($db, $username, $password, {});

I tried: $uid = $common->authenticate($db, $username, $password, "{}"); but it triggers similar error:

array(2) { ["faultCode"]=> int(1) ["faultString"]=> string(761) "Traceback (most recent call last): File "/home/odoo/src/odoo/14.0/odoo/addons/base/controllers/rpc.py", line 69, in xmlrpc_2 response = self._xmlrpc(service) File "/home/odoo/src/odoo/14.0/odoo/addons/base/controllers/rpc.py", line 49, in _xmlrpc result = dispatch_rpc(service, method, params) File "/home/odoo/src/odoo/14.0/odoo/http.py", line 140, in dispatch_rpc result = dispatch(method, params) File "/home/odoo/src/odoo/14.0/odoo/service/common.py", line 56, in dispatch return g[exp_method_name](*params) File "/home/odoo/src/odoo/14.0/odoo/service/common.py", line 27, in exp_authenticate return res_users.authenticate(db, login, password, {**user_agent_env, 'interactive': False}) TypeError: 'str' object is not a mapping " }
Any other thoughts?

0
อวตาร
ละทิ้ง
อวตาร
Jérôme Vanhaudenard (jev)
คำตอบที่ดีที่สุด

I tried: $uid = $common->authenticate($db, $username, $password, "{}"); but it triggers similar error:

With the quote around the "{}", you give a string instead of a dict.

 

Actually, python needs a dict to be present (the {}) and it can be empty.

A JSON string will not work.


That part of the code did change recently, making it impossible to give an empty array.

The workaround is to give a named array like this:

array("a"=>"b")


A pull request is in progress to allow an empty array parameter as before.

0
อวตาร
ละทิ้ง
อวตาร
Chiledar
คำตอบที่ดีที่สุด

I am resolved the problem passing in to last parameter the value returned in the method Version. I am programming at C# y the code is this:

OdooVersion vVersion = XmlRpcProxyGen.Create<OdooVersion>(); 
vVersion.Url = this._UrlBase + "/xmlrpc/2/common"; 
object vResult = vVersion.version();
OdooAutenticar proyCall = XmlRpcProxyGen.Create<OdooAutenticar>();
proyCall.Url = this._UrlBase + "/xmlrpc/2/common";
 int vResult2 = proyCall.authenticate(this._BaseDatos.Trim() , this._Usuario.Trim(), this._Password.Trim(), vResult); 
 return vResult2; 

The error only occurs the version 14.
In the version 12 or 13 the call "Authenticate" method runs without problems
0
อวตาร
ละทิ้ง
สนุกกับการพูดคุยนี้ใช่ไหม? เข้าร่วมเลย!

สร้างบัญชีวันนี้เพื่อเพลิดเพลินไปกับฟีเจอร์พิเศษและมีส่วนร่วมกับคอมมูนิตี้ที่ยอดเยี่ยมของเรา!

ลงชื่อ
Related Posts ตอบกลับ มุมมอง กิจกรรม
JSON API, API Keys and user connection
authentication api
อวตาร
อวตาร
อวตาร
อวตาร
3
มิ.ย. 26
2960
How i can auth my user to access odoo with API Key or Access Token?
authentication api
อวตาร
อวตาร
อวตาร
อวตาร
4
มี.ค. 26
47761
Question about how to authentication using api key แก้ไขแล้ว
authentication api api-key
อวตาร
อวตาร
1
ก.ย. 25
8496
API authentication not working with API key
authentication api api-key
อวตาร
0
ม.ค. 24
5953
How to authenticate users from res.users model in laradoo package
authentication api odoo
อวตาร
0
ก.ค. 21
5462
คอมมูนิตี้
  • บทเรียน
  • เอกสารกำกับโปรแกรม
  • ฟอรั่ม
โอเพนซอร์ส
  • ดาวน์โหลด
  • Github
  • Runbot
  • การแปล
บริการ
  • โฮสติ้ง odoo.sh เซิร์ฟเวอร์
  • การสนับสนุน
  • อัปเกรด
  • การพัฒนาที่กำหนดเอง
  • การศึกษา
  • ค้นหานักบัญชี
  • ค้นหาพาร์ทเนอร์
  • ร่วมเป็นพาร์ทเนอร์
เกี่ยวกับเรา
  • บริษัทของเรา
  • ทรัพย์สินในรูปของเครื่องหมายการค้า
  • ติดต่อเรา
  • งาน
  • ระบบการจัดงานอีเวนต์
  • พอดแคสต์
  • บล็อก
  • ลูกค้า
  • กฎหมาย • ความเป็นส่วนตัว
  • ความปลอดภัย
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo เป็นชุดแอปธุรกิจแบบเปิดที่ครอบคลุมทุกความต้องการของบริษัทของคุณ อาธิ CRM eCommerce ระบบบัญชี ระบบคลังสินค้า ระบบการขายหน้าร้าน โปรเจกต์ และ อีกมากมาย

ความเหนือกว่าอันเป็นเอกลักษณ์ของ Odoo คือการใช้งานที่ง่ายดายและผสานการทำงานอย่างสมบูรณ์แบบในเวลาเดียวกัน

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now