在SABRE上的https://api-crt.cert.havail.sabre.com/v2/auth/token上获得令牌的格式是什么,或者参数看起来像什么?

问题描述

我正在尝试构建一个应用程序以连接到Sabre Rest api。 到目前为止,我正在尝试使用邮递员获得令牌,但是感觉好像我缺少很多参数在这里,我的通话看起来像是“使用Code to Jquery检索”

var settings = {
  "url": "https://api-crt.cert.havail.sabre.com/v1","method": "POST","timeout": 0,"headers": {
    "Content-Type": "application/x-www-form-urlencoded"
  },"data": {
    "grant_type": "password","Client_ID": "myclientidgoeshereinthisspace","client_secret": "myclientsecretgoeshere"
  }
};
    
$.ajax(settings).done(function (response) {
  console.log(response);
});

解决方法

请参考以下链接,其中提供了有关如何生成令牌的详细信息:-

https://developer.sabre.com/guides/travel-agency/quickstart-guides/get-token

第1步:获取您的军刀证书。您的Sabre凭证可让您访问Sabre GDS。 (从Saber客户经理那里获取Saber凭据,或者通过创建Dev Studio帐户来获取免费凭据。)

第2步:构建令牌凭证。

第3步:获取令牌。

此外,REST API客户必须首先构造一个单个base64编码的字符串。有两种建议的选项来构建REST API会话,而在REST API令牌凭证中使用较少的令牌凭证。这是一个解释相同的链接:-

https://developer.sabre.com/guides/travel-agency/developer-guides/rest-apis-token-credentials

,

好吧,我不确定您遇到的错误是什么,但是您那里的URL错误,应该是您所遇到的错误。尽管我看到有a new v3 now

我认为您不能在正文中发送Client_ID和client_secret,出于某些特定目的,可能需要它作为标头。

这是必须的凭据,您似乎并没有通过

因此,假设该呼叫有效,请尝试以下操作(更新您的凭据)

var settings = {
  "url": "https://api-crt.cert.havail.sabre.com/v3/auth/token","method": "POST","timeout": 0,"headers": {
    "Content-Type": "application/x-www-form-urlencoded","Authentication": `Basic btoa(`${btoa('ClientID')}:${btoa('ClientSecret')}`)`
  },"data": {
    "grant_type": "password"
  }
};

您可以使用在DevStudio上拥有的测试凭据:https://developer.sabre.com/user/YOUR_USER/applications