我正在尝试使用Delphi TREST组件连接到HRMC VAT API。
我已经获得了访问权限和刷新令牌,但是我无法获得更多。
目前,我正在尝试按以下方式追偿我的义务:-
RESTClient := TRestClient.Create('https://test-api.service.hmrc.gov.uk/organisations/vat/666596898/obligations');
try
RESTRequest := TRESTRequest.Create(RESTClient);
RESTResponse := TRESTResponse.Create(RESTClient);
OAuth2 := TOAuth2Authenticator.Create(RESTClient);
with OAuth2 do
begin
AccessToken := <my access token>;
ResponseType := TOAuth2ResponseType(rtCODE);
TokenType := TOAuth2TokenType(ttBEARER);
end;
with RESTClient do
begin
Authenticator := OAuth2;
ContentType := 'application/json';
end;
with RESTRequest do
begin
Client := RESTClient;
Response := RESTResponse;
Accept := 'application/vnd.hmrc.1.0+json';
Params.AddItem('from', '2017-01-25', pkGETorPOST);
Params.AddItem('to', '2017-01-25', pkGETorPOST);
Execute;
end;
finally
RESTClient.DisposeOf;
end;
此特定代码返回错误INVALID_DATE_RANGE。但是根据我使用的日期,有时我还会得到CLIENT_OR_AGENT_NOT_AUTHORISED。
任何人都可以阐明我要去哪里的地方吗?
答案 0 :(得分:0)
也许不喜欢开始日期和结束日期相同?它确实说无效日期范围,而不是无效日期。
答案 1 :(得分:0)
我终于解决了。我的测试用户凭证存在问题。我是从HMRC网站生成的,但是从其他帖子中发现,以这种方式生成它们存在问题。当我通过API创建用户时,它可以正常工作!
我希望这对某人有帮助。