0

这是我对这个伟大社区的第一个问题,所以请宽容。

我目前有以下问题:

我想从博世物联网 API 接收数据,但即使遵循他们的文档(https://bosch-iot-insights.com/static-contents/docu/html/Java.html >> 同步查询执行 - 示例)也没有帮助我.

我的代码看起来和他们的完全一样:

        String resourceUrl = "https://bosch-iot-insights.com/mongodb-query-service/v2/my-project";

        String username = "my-user";
        String password = "my-pw";
        String authorizationCredentials = generateAuthorizationToken( username, password );

        String payload = new String(Files.readAllBytes(Paths.get("C:/Users/my-name/Desktop/payload.json")));
        String contentType = "application/json";


        WebResource service = Client.create().resource( resourceUrl );
        ClientResponse response = service.header( "Authorization", authorizationCredentials )
                .header( "Content-Type", contentType )
                .post( ClientResponse.class, payload );

        System.out.println( response );

        if ( response.getStatus() == 200 ) {
            System.out.println( parseJson( response.getEntity( String.class ) ) );
        } 

我也尝试了一些使用 C# 和 PHP 的解决方案,但它们都有相同的输出:403 Forbidden 当我打开项目 URL 时,我可以正常登录,但是我显然得到了405 Method not allowed - 错误,因为有没有 GET 方法。

我什至联系了他们并寻求帮助,但是凭借我的凭据,他们得到了以下结果:

POST https://bosch-iot-insights.com/mongodb-query-service/v2/my-project/execute-aggregation-query returned a response status of 200 OK
[
  {
    "key": value
  }
]

我知道状态码 403 是什么意思,但即使是博世也无法帮助我解决这个问题,因为对他们来说一切看起来都很好..

如果有人可以帮助我或给我一些想法,为什么会产生这个错误,我将不胜感激。
(欲了解更多信息,请随时询问!)

4

0 回答 0