将tm1py身份验证方法与poster命令进行比较



我成功地使用了tm1py包,并能够使用以下代码获得多维数据集信息。

from TM1py.Services import TM1Service
with TM1Service(address= "localhost",port="51130",user= "pm",password= "IBMDem0s",namespace="Harmony LDAP",ssl= False) as tm1:
df =tm1.cubes.cells.execute_view_dataframe(cube_name ="PUR_Sales_Planning",view_name="View1",private= False)

现在我需要使用Postman命令来检查同样的事情。我试过了https://code.cubewise.com/blog/mastering-the-tm1-rest-api-with-postman测试

。所以我使用了Authorization Type作为"Basic Auth"。用户名为pm,密码为IBMDemos。URL如下。http://localhost:51130/api/v1/Cubes(我只需要所有的多维数据集名称(。

但我收到了一个来自邮递员"401未经授权"的错误。有人能告诉我这里出了什么问题吗。我需要在poster中的某个地方输入名称空间名称字段吗。

您尝试过https而不是http吗?因为对我来说,当我在邮递员上尝试你的例子时,我使用HTTPS,它对我有效。在这个例子中,它也是HTTPS。

此外,您必须将服务器的servername放在TM1server所在的位置(而不是localhost(。在您必须将输入的httpportnumber放入tm1s.cfg文件之后。

以下是一个示例:https://"服务器名称":"端口号"/api/v1/Cubes

请告诉我你是怎么处理的。

由于您在TM1py示例中提供了名称空间,我猜您使用的是CAM安全性。

邮差
在"授权"选项卡中,将"类型"设置为"无授权"。设置以下授权标头:

CAMNamespace base64(user:password:namespace)

在您的情况下,字符串看起来是这样的:

CAMNamespace cG06SUJNRGVtMHM6SGFybW9ueSBMREFQ

现在您可以执行查询了。

参考文献:
https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=api-身份验证管理会话
https://www.base64encode.org/

最新更新