在Acumatica中,API登录限制是由“Max Login Attempts”系统设置定义的。Acumatica的API默认设置值为5次。如果您的API调用达到了这个限制,您将无法进行API请求操作,直到超级用户通过Acumatica的UI重置服务端异常。因此,当API请求超出限制时,会出现API登录限制问题。
为了解决这个问题,您需要扩展Acumatica中的API登录限制。假设我们将API登录限制扩展为10次。您可以按照以下步骤进行操作:
1.在Acumatica中,转到“System”→“Management Console”→“System Preferences”菜单,找到“Max Login Attempts”系统设置。
2.将值更改为10次。
3.打开Acumatica外发接口类。
4.更改您的代码以在API调用时指定“logintries”参数,该参数指定客户端应限制其登录尝试的最大次数。在下面的代码示例中,我们将“logintries”设置为10:
using System;
using PX.Api;
namespace PX.Api.ContractBased {
public class CustomOutgoingApi {
[FieldsProcessed(new[] { "login", "password" })]
public void Login(string login, string password) {
var connection = new Connection(new Uri("http://localhost/AcumaticaERP/"), login, password, logintries: 10);
var context = new DefaultContext(connection);
// Perform your API calls here
}
}
}
通过这个解决方法,您可以避免Acumatica中API登录限制问题的出现,从而达到更好的API使用体验。