将访问令牌传递给HTTP标头

2020-09-17 04:35发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家-

希望一切都很好。 我正在研究使用面向公众的API(非常酷的东西)来检索NFL数据的方案。 为了获取数据,我需要获取能够使用客户端凭据检索的访问令牌。 下一步是发送访问令牌以进行GET HTTP调用。 这里使用的是您提供的groovy脚本。 我不确定是否将标头设置为无法确定,并且是否还会收到401错误,提示我某些错误。 如果您能提供任何想法来正确设置标题,将不胜感激。 请在下面找到有关我的集成方案的其他信息。

致谢

HS

错误详细信息:org.apache.camel.component.ahc.AhcOperationFailedException:HTTP操作调用失败 https://api.nfl.com/v1/teams/10044500 -2015-9b4e-d3c4-31cfc94ce689 ,状态码:401

Groovy脚本-我在以下博客中使用了Eng提供的脚本并进行了更改。

https://blogs.sap.com/2015/12/18/hci-developing-custom-oauth-20-authentication-in-iflows /

/*

集成开发人员需要创建方法processData

此方法采用包com.sap.gateway.ip.core.customdev.util的Message对象

其中包括对内容开发者有用的帮助方法:

可用的方法是:

公共java.lang.Object getBody()

公共无效setBody(java.lang.Object exchangeBody)

公共java.util.Map getHeaders()

公共无效setHeaders(java.util.Map exchangeHeaders)

public void setHeader(java.lang.String名称,java.lang.Object值)

public java.util.Map getProperties()

public void setProperties(java.util.Map exchangeProperties)

public void setProperty(java.lang.String名称,java.lang.Object值)

*/

导入com.sap.gateway.ip.core.customdev.util.Message;

导入java.util.HashMap;

def消息processData(消息消息){

//从属性中获取OAuth令牌值

def map = message.getProperties();

def令牌= map.get(" access_token");

//从上一个标头中删除Consumer键

map = message.getHeaders();

map.remove(" X-ConsumerKey");

//设置OAuth授权凭据

message.setHeader(" Authorization"," Bearer" +令牌);

返回消息;

}

Iflow错误屏幕截图

(106.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家-

希望一切都很好。 我正在研究使用面向公众的API(非常酷的东西)来检索NFL数据的方案。 为了获取数据,我需要获取能够使用客户端凭据检索的访问令牌。 下一步是发送访问令牌以进行GET HTTP调用。 这里使用的是您提供的groovy脚本。 我不确定是否将标头设置为无法确定,并且是否还会收到401错误,提示我某些错误。 如果您能提供任何想法来正确设置标题,将不胜感激。 请在下面找到有关我的集成方案的其他信息。

致谢

HS

错误详细信息:org.apache.camel.component.ahc.AhcOperationFailedException:HTTP操作调用失败 https://api.nfl.com/v1/teams/10044500 -2015-9b4e-d3c4-31cfc94ce689 ,状态码:401

Groovy脚本-我在以下博客中使用了Eng提供的脚本并进行了更改。

https://blogs.sap.com/2015/12/18/hci-developing-custom-oauth-20-authentication-in-iflows /

/*

集成开发人员需要创建方法processData

此方法采用包com.sap.gateway.ip.core.customdev.util的Message对象

其中包括对内容开发者有用的帮助方法:

可用的方法是:

公共java.lang.Object getBody()

公共无效setBody(java.lang.Object exchangeBody)

公共java.util.Map getHeaders()

公共无效setHeaders(java.util.Map exchangeHeaders)

public void setHeader(java.lang.String名称,java.lang.Object值)

public java.util.Map getProperties()

public void setProperties(java.util.Map exchangeProperties)

public void setProperty(java.lang.String名称,java.lang.Object值)

*/

导入com.sap.gateway.ip.core.customdev.util.Message;

导入java.util.HashMap;

def消息processData(消息消息){

//从属性中获取OAuth令牌值

def map = message.getProperties();

def令牌= map.get(" access_token");

//从上一个标头中删除Consumer键

map = message.getHeaders();

map.remove(" X-ConsumerKey");

//设置OAuth授权凭据

message.setHeader(" Authorization"," Bearer" +令牌);

返回消息;

}

Iflow错误屏幕截图

(106.7 kB)
付费偷看设置
发送
1条回答
渐行渐远_HoldOn
1楼 · 2020-09-17 05:36.采纳回答

它起作用了,它是Bearer令牌字段。

谢谢

HS

一周热门 更多>