开发者社区 > 云效DevOps > 正文

在云效中,通过api调用返回结果为空。但是通过在线api调试有返回结果。 这个情况是啥问题?

在云效中,通过api调用返回结果为空。但是通过在线api调试有返回结果。 这个情况是啥问题? 9bbf47e84e06b2e89abb545d534cd821.png 调用参数一样,使用的是sdk示例代码。 ListWorkitems 获取工作项列表,只有4个必要参数,其他参数没有加。

展开
收起
十一0204 2023-06-28 13:26:33 147 0
17 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    你好,根据你的描述,我自己创建了一个示例企业,然后用OpenApi测了一下在线的ListWorkitems接口,测试结果如下:

    image.png

    确实在线的是通的。

    然后,您说通过外部调用不通,我觉得这是不太可能的,很大一部分原因就是您没有经过授权,即没有使用AccessKeyId和AccessKeySecret。

    在调接口前,需要先访问https://www.aliyun.com/search?k=accesskeyid&page=1

    点击【控制台-AccessKey】超链接:

    image.png

    然后根据页面提示,生成一组AccessKey ID和AccessKey Secret,一定要保存好了!

    image.png

    下面我演示一下用java语言去请求。

    首先点击【SDK信息】:

    image.png

    复制依赖信息到pom文件中:

    image.png

    image.png

    官方给的java代码,我稍微改良了一下:

    Config config = new Config()
                    .setAccessKeyId("")
                    .setAccessKeySecret("");
            config.endpoint = "devops.cn-hangzhou.aliyuncs.com";
    
            Client client = new Client(config);
    
            ListWorkitemsRequest listWorkitemsRequest = new ListWorkitemsRequest()
                    .setSpaceType("Project")
                    .setSpaceIdentifier("ONBS")
                    .setCategory("Req");
    
            RuntimeOptions runtime = new RuntimeOptions();
            Map<String, String> headers = new HashMap<>();
            try {
                ListWorkitemsResponse listWorkitemsResponse = client.listWorkitemsWithOptions("", listWorkitemsRequest, headers, runtime);
                System.out.println(JSONObject.toJSONString(listWorkitemsResponse));
            } catch (TeaException error) {
                Common.assertAsString(error.message);
            }
    

    请注意,下面箭头所指的地方需要根据自己的情况改成自己账号的信息:

    image.png

    该代码已经经过测试了,启动后能够正确打印返回信息:

    image.png

    2023-08-03 17:42:06
    赞同 展开评论 打赏
  • 不断追求着最新的技术和趋势,在云技术的世界里,我不断寻找着新的机会和挑战,不断挑战自己的认知和能力。

    这个情况可能是由于以下几个原因:

    • API调用参数错误:检查一下API调用的参数是否正确,包括API接口地址、请求方式、请求参数等。
    • API接口限流:API接口可能存在限流机制,导致请求无法返回结果。可以查看一下API接口的文档,看看是否存在限流配置。

    最好检查一下API调用的各个方面,包括参数、接口、数据库等。

    2023-07-28 22:46:07
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    如果在云效中通过API调用返回结果为空,但是通过在线API调试却有返回结果,这可能是以下几个原因之一:

    1. 认证问题:请确保在云效中使用API调用时已正确进行身份验证。API调用需要提供有效的凭据,以确保您有权限访问相关资源。请检查您在API调用中使用的凭据是否正确,并具有适当的权限。

    2. 参数问题:请仔细检查您在API调用中使用的参数是否正确。确保您提供了正确的参数值,并且没有遗漏任何必需的参数。还要确保您没有使用不支持的参数或错误的参数格式。

    3. 网络连接问题:请确保您的云效环境可以正常访问外部网络。如果存在网络连接问题,可能导致API调用失败或超时。建议检查网络连接是否正常,以确保云效可以与在线API调试器进行通信。

    4. 版本兼容性问题:有时在线API调试器可能使用的是更高版本的API,而您在云效中使用的是较低版本的API。这可能导致某些接口在云效中不可用或返回不同的结果。请确保您在云效中使用的API版本与在线API调试器中的版本相匹配。

    如果您已经确认了上述问题,并且仍然无法解决API调用返回结果为空的问题,建议向云效支持团队寻求帮助。他们可以更深入地了解您的具体情况,并提供定制的技术支持。

    2023-07-28 13:46:20
    赞同 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    这个情况可能是由于以下几个原因:

    API调用的参数不正确或者没有填写正确的参数。
    API调用的接口不正确或者没有调用正确的接口。
    API调用的结果处理不正确或者没有正确解析返回结果。
    云效中存在网络问题或者服务故障,导致API调用失败或者返回错误的结果。

    建议您检查一下API调用的参数和接口是否正确,以及结果处理是否正确。如果问题仍然存在,可以尝试重新启动云效服务,或者联系云效的技术支持寻求帮助。

    2023-07-27 22:48:26
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,根据你的描述,你先可以查一下调用接口的时候传的参数是否正确。具体如图所示:
    image.png

    也可能是由于API调用的版本与开发环境中的版本不一致导致的,具体你对比一下官方的说明:
    image.png

    2023-07-26 22:19:14
    赞同 展开评论 打赏
  • 如果通过API调用返回结果为空,但是通过在线API调试有返回结果,可能是以下原因之一:

    • API参数不正确:请检查API请求参数是否正确,特别是请求方法、请求URL、请求头和请求体。
    • API权限不足:请确保API调用者具有执行该API所需的权限。
    • API服务器故障:请稍后重试或联系云效技术支持人员进行排查。
    2023-07-26 16:23:48
    赞同 展开评论 打赏
  • 这种情况可能有几种可能的问题:

    参数配置错误:请确保在SDK示例代码中正确设置了参数,并且与在线API调试工具中的参数一致。特别是验证一下是否正确设置了访问令牌(token),以及其他必要的参数。
    微信图片_20230725233838.png

    访问权限不足:云效的API可能需要特定的权限才能访问。请确保使用的访问令牌具有足够的权限来执行该API操作。
    微信图片_20230725233937.png
    403表示没有相关权限,需要获取权限才能正常访问。

    API版本问题:确保SDK示例代码与云效API的版本相匹配。如果版本不匹配,可能会导致API调用失败或返回结果为空。

    下图为正常的返回示例:微信图片_20230725234116.png

    2023-07-25 23:44:08
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    您好,根据云效官方文档ListWorkitems - 获取工作项列表来看的话当前API接口没有权限方面的影响
    image.png
    在线api调用有结果返回,
    image.png
    但是通过示例代码调用的话结果过为空,建议您排查一下maven配置是否是最新

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>devops20210625</artifactId>
      <version>3.0.2</version>
    </dependency>
    

    并且在使用API前,您需要准备好身份账号及访问密钥(AccessKey),才能有效通过客户端工具(SDK、CLI等)访问API。细节请参见获取AccessKey

    2023-07-25 16:42:36
    赞同 展开评论 打赏
  • 存在即是合理
    1. 检查是否符合云效API的使用规则,例如请求频率、请求量等。
    2. 检查是否已经超时,可以尝试增加请求等待时间或者减少请求量来解决。
    3. 可以尝试在本地进行调试,看看是否能够解决问题。
    4. 检查一下Access keys权限是否满足。

    建议超这些方向去排查,不行就咨询官方客服吧。

    2023-07-25 13:14:46
    赞同 展开评论 打赏
    1. API 接口地址不正确:请检查在云效中调用的 API 接口地址是否正确。

    2. API 请求参数不正确:请检查在云效中调用的 API 请求参数是否正确,包括参数名、参数值、参数类型等。在你的情况下,由于只有4个必要参数,其他参数没有加,可能是因为缺少了某些必要参数导致 API 调用失败或者返回结果为空。

    3. API 接口权限问题:请检查在云效中调用的 API 接口是否需要授权或者权限验证,如果需要,请确保授权或者权限验证的信息正确。

    4. 网络连接问题:请检查云效所在的网络环境是否能够正常连接到 API 接口所在的服务器。如果网络连接存在问题,可能会导致 API 调用失败或者返回结果为空。

    2023-07-25 10:38:15
    赞同 1 展开评论 打赏
  • 排查下url地址,参数,请求方式等是否正确

    2023-07-25 09:43:32
    赞同 展开评论 打赏
  • 查看接口调用参数不正确:请检查通过API调用时传递的参数是否正确,包括参数的格式、顺序和值是否符合接口要求。
    请确保你的API调用具有足够的权限来访问所需的数据或执行所需的操作。你可以检查你的API密钥或访问令牌是否正确,并且具有足够的权限。

    2023-07-24 23:26:36
    赞同 展开评论 打赏
  • 全栈JAVA领域创作者

    您好,这个问题可能是由于多种原因引起的。您可以尝试以下方法来排查:

    1. 检查您的网络连接是否正常,如果网络连接不正常,您可能无法访问所需的资源。
    2. 检查您的API密钥是否正确,如果不正确,请重新生成并更新您的代码。
    3. 检查您的请求参数是否正确,包括请求头、请求体等。
    4. 检查您的SDK示例代码是否正确,包括参数传递、数据格式等。
    5. 如果以上步骤都没有解决问题,请尝试在本地环境进行调试和测试,以确定问题所在。
    2023-07-24 21:26:13
    赞同 展开评论 打赏
  • 先可以查一下传入的参数是否正确。
    微信截图_20230724182922.png
    可能是由于API调用的版本与开发环境中的版本不一致导致的。详细可查询一下官方文档
    屏幕截图 2023-07-22 224808.png

    2023-07-24 18:34:21
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    请求参数有误:请检查您在云效中发起请求时所使用的参数是否正确。可以将在线 API 调试工具中的请求参数复制到云效中进行测试,以此来确定问题是否在请求参数方面。
    https://help.aliyun.com/document_detail/308247.html?spm=a2c4g.153612.0.i12

    image.png

    接口地址有误:请确保您在云效中使用的 API 接口地址与在线 API 调试工具中使用的地址相同。如果地址不同,可能会导致请求不成功或返回结果不同。

    权限问题:请确保您在云效中所使用的 API 调用具有足够的权限来获得返回结果。如果您没有足够的权限,可能会导致请求不成功或返回结果为空。

    服务器问题:如果您确定请求参数、接口地址和权限都没有问题,但仍然无法获得返回结果,那么可能是由于服务器问题导致的。您可以稍后再次尝试请求,或者联系云效客服以获取更多帮助。

    https://help.aliyun.com/document_detail/460000.html?spm=a2c4g.307848.0.i0

    image.png

    2023-07-24 18:23:40
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    看一下请求参数代表什么意思,然后填写必要的字段,本接口主要是用来获取工作项的列表,如果表里有东西可以直接拉出来,但是对应查的相关id和资源都是空的,返回也就是空的,建议造一下新数据调用
    image.png

    image.png

    image.png

    2023-07-24 16:26:59
    赞同 展开评论 打赏
  • 在云效中,通过API调用返回结果为空,但是在在线API调试中却有返回结果,可能是由于API调用的版本与开发环境中的版本不一致导致的。
    API概览:
    image.png

    https://help.aliyun.com/document_detail/460575.html?spm=a2c4g.460574.0.0.5486222ddg2ZbJ

    image.png

    ListWorkitems - 获取工作项列表

    授权信息
    当前API暂无授权信息透出。
    请求语法
    GET /organization/{organizationId}/listWorkitems

    image.png

    正常返回示例

    {
      "totalCount": 10,
      "nextToken": "\"\"",
      "maxResults": 20,
      "requestId": "ASSDS-ASSASX-XSAXSA-XSAXSAXS",
      "errorMsg": "error",
      "errorCode": "Openapi.RequestError",
      "success": true,
      "workitems": [
        {
          "identifier": "e8bxxxxxxxxxxxxxxxx23",
          "subject": "测试工作项",
          "document": "html格式",
          "assignedTo": "19xx7043xxxxxxx914",
          "status": "待处理",
          "statusStageIdentifier": "1",
          "spaceIdentifier": "e8b26xxxxx6e76aa20xxxxx23",
          "spaceName": "需求项目",
          "spaceType": "Project",
          "logicalStatus": "NORMAL",
          "categoryIdentifier": "Req",
          "parentIdentifier": "e8bxxxxxxxxxxxxxxxx24",
          "workitemTypeIdentifier": "9uxxxxxxre573f5xxxxxx0",
          "updateStatusAt": 1640850328000,
          "serialNumber": "ABCD-1",
          "gmtCreate": 1640850318000,
          "gmtModified": 1640850318000,
          "creator": "19xx7043xxxxxxx914",
          "modifier": "19xx7043xxxxxxx914",
          "statusIdentifier": "100005",
          "sprintIdentifier": "75528f17703e92e5a568......"
        }
      ]
    }
    

    image.png

    2023-07-24 16:10:15
    赞同 展开评论 打赏
滑动查看更多

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

相关电子书

更多
云效助力企业软件供应链生产效能提升 立即下载
云效 DevOps 客户案例集(公共云) 立即下载
云效 立即下载