在Microsoft Flow

时间:2017-11-15 17:45:21

标签: acumatica

是否有人尝试将Acumatica REST API与Microsoft Flow一起使用?

几周前我用谢尔盖的说明(click here)尝试了它,它运行良好。

但现在我在第二步收到以下消息。

{   “message”:“你还没有登录。” }

第一步是我进行身份验证的地方(就像在Sergey的说明中一样),然后我将标题从第一步传递到第二步(就像在Sergey的说明中一样),但不知怎的,第二步不认为我我登录了。

有什么想法吗?

以下是一些截图(我为屏幕截图更改的唯一内容是密码):

以下是第一次调用(HTTP)的标头输出: X长柄,由 Acumatica-PX.Export / AuthenticationManagerModule 设置Cookie ASP.NET_SessionId = 0koh1ysshqsfmzr0srib2s5z;路径= /;仅Http,UserBranch = 16;路径= /,地点= =文化EN-US&放大器;时区= GMTM0800A;到期= 2017年11月18日星期六17:51:27 GMT;路径= / ,. ASPXAUTH = 880C71F4E1A76C36E7E468337C01BC9E6E4C898E1977BAAAF2A35F7217B1D9132794A9547071508A35A2D4B9132DC4B55E86DD6E9C9B8D46CAECE39D74CC9B44BDD47E7C0D836D22D8F4EEFAF8142A9987418B8003EFF5B340DF735E7F8F36EDE5D25300D887E4DADEB0A80B707D87F6B0D32437;路径= /;仅Http 服务器 微软-IIS / 7.5 X供电,通过 ASP.NET 日期 2017年11月15日星期三17:51:27 GMT 内容长度 0

以下是第二次调用(HTTP 2)中的标头输入: {   “X-Handled-By”:“Acumatica-PX.Export / AuthenticationManagerModule”,   “Set-Cookie”:“ASP.NET_SessionId = 0koh1ysshqsfmzr0srib2s5z; path = /; HttpOnly,UserBranch = 16; path = /,Locale = Culture = en-US& TimeZone = GMTM0800A; expires = Sat,2017年11月18日17: 51:27 GMT;路径= / ,. ASPXAUTH = 880C71F4E1A76C36E7E468337C01BC9E6E4C898E1977BAAAF2A35F7217B1D9132794A9547071508A35A2D4B9132DC4B55E86DD6E9C9B8D46CAECE39D74CC9B44BDD47E7C0D836D22D8F4EEFAF8142A9987418B8003EFF5B340DF735E7F8F36EDE5D25300D887E4DADEB0A80B707D87F6B0D32437;路径= /;的HttpOnly”,   “服务器”:“Microsoft-IIS / 7.5”,   “X-Powered-By”:“ASP.NET”,   “日期”:“2017年11月15日星期三17:51:27 GMT”,   “内容长度”:“0” }

以下是第二次调用(HTTP 2)的标头输出: X长柄,由 Acumatica-PX.Export / AuthenticationManagerModule 日期 2017年11月15日星期三17:51:27 GMT 设置Cookie ASP.NET_SessionId = dklemj2usv2zveyc3acxnhm5;路径= /;仅Http 服务器 微软-IIS / 7.5 X供电,通过 ASP.NET 内容长度 36 内容类型 应用/ JSON;字符集= UTF-8

1 个答案:

答案 0 :(得分:1)

我以前有一个,我和你的之间的区别在于你的登录帖子没有任何标题。

我有:

接受application / json

Content-Type application / json

以下是我的工作流程的屏幕截图:https://imgur.com/a/trgBa

编辑:

在玩了这个之后,我已经找到了解决这个问题的方法。虽然它使用OAuth身份验证而不是基于cookie的身份验证。 方法如下:

  1. 我首先在acumatica的同名屏幕上创建了一个连接的应用程序
    • 以下类型:Ressource Owner Password Credentials
    • 我还创建了一个共享秘密,同时记下了它的值(它只显示了一次)。
    1. 我使用以下信息在流程中创建了第一个http调用
      • 网址:https://" Acumatica ERP实例网址" / identity / connect / token
      • 标题:内容类型/应用程序/ x-www-form-urlencoded
      • 正文:grant_type =密码& client_id = Value1& client_secret = Value2& username = Value3& password = Value4& scope = api
    2. Value1:在步骤1中创建的已连接应用程序的ID

      Value2:从步骤1保存的共享密钥的值。如果丢失则只删除并添加另一个秘密。小心别人没有使用那个秘密

      Value3:现有帐户的用户名

      Value4:值3中指定的帐户密码

      1. 创建将执行Web服务请求的第二个HTTP调用
        • 网址:https://" Acumatica ERP实例网址" /entity/Default/17.200.001/Case
        • 标题:授权/承载子字符串(子字符串(字符串(正文(' HTTP_2')),indexOf(字符串(正文(' HTTP_2')),':& #39),34),2,32)
        • 正文:所请求操作的正常REST API正文
      2. 子字符串仅由标题

        中的空格分隔

        这是代表2个HTTP调用的图像 First HTTP call in Flow Second HTTP call in Flow