开发者社区 > 视觉智能 > 文字识别 > 正文

文字识别OCR文档中的getSignature 方法生成signature不能直接拿来使用吗?

https://help.aliyun.com/document_detail/469176.html?spm=a2c4g.442250.0.0.59f5247bkzLRN1 文字识别OCR文档中JavaScript 中的getSignature 方法生成signature不能直接拿来使用吗? 生成url了,但是接口一直报 SignatureDoesNotMatch ,signature 采用文档中getSignature方法生成的lQLPJwFvSLHRQJTNASbNBSSwzkdMOwdjFz4E6sfw8ICsAA_1316_294.png
lQLPJwiupyqMsBTNAZbNB0KwOWhUstJiBqEE6sjGLsAMAA_1858_406.png

展开
收起
三分钟热度的鱼 2023-09-13 19:16:39 57 0
5 条回答
写回答
取消 提交回答
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    您好,文字识别OCR为保证API的安全调用,在调用API时阿里云会对每个API请求通过签名(Signature)进行身份验证。无论使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名信息。官方提供的获取API调用签名的代码如下
    image.png
    你可以参考,如果您的签名不正确的话,那可能是您在生成签名时的入参不对,建议您参考文档调试。

    2023-09-15 20:29:10
    赞同 展开评论 打赏
  • 根据您提供的文档链接,确实可以使用其中的 JavaScript 中的 getSignature 方法生成 signature。然而,如果您直接拿来使用后出现 SignatureDoesNotMatch 错误,可能有以下几个原因:

    1. 时间戳(Timestamp)不正确:在调用接口时,需要将当前时间转换为 UTC 格式,并作为参数传递给接口。请确保您生成 signature 时使用了正确的时间戳,并且与调用接口时传递的时间戳一致。

    2. 参数排序不正确:在生成 signature 之前,需要按照一定规则对请求参数进行排序。请确保您按照接口要求对参数进行排序,并传递给 getSignature 方法。

    3. 密钥和参数不匹配:在生成 signature 时,需要使用正确的 Access Key Secret 和请求参数。请确保您在生成 signature 时使用了正确的密钥,并且传递了与接口调用相匹配的参数。

    2023-09-15 11:24:03
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在使用OCR接口时,生成的signature不能直接拿来使用可能是因为以下原因:

    1. 参数不匹配:getSignature方法生成的signature需要与请求中携带的其他参数相匹配。确保您在生成signature时使用了正确的参数,并且请求中的参数与生成signature时使用的参数一致。

    2. 时间戳过期:signature可能包含了时间戳(timestamp)作为参数之一,以确保请求在一定时间内有效。如果时间戳已经过期,服务器将拒绝该请求并报错。请检查生成signature时的时间戳是否仍然有效,并在请求中使用当前的时间戳。

    3. 非法字符或编码问题:在进行签名计算时,可能存在非法字符或编码问题,导致生成的signature无法被服务器识别。确保在生成signature时对参数进行适当的编码和处理,以避免出现非法字符或编码问题。

    4. 密钥错误:可能由于密钥(Access Key)的错误或不匹配,导致生成的signature无效。请确保您使用的是正确的密钥,并验证其与阿里云平台上的密钥是否匹配。

    2023-09-14 13:27:56
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,根据文档,getSignature 方法生成的 signature 是基于您的 AccessKey 和 SecretKey 计算的,因此只有您自己的 AccessKey 和 SecretKey 才能正确地生成 signature,而其他人的 AccessKey 和 SecretKey 无法生成正确的 signature。如果您使用的是自己的 AccessKey 和 SecretKey 并且正确地调用 getSignature 方法,那么生成的 signature 应该是有效的。如果接口报错 SignatureDoesNotMatch,则可能是由于参数传递不正确或者 signature 计算错误导致的。建议您仔细检查参数和 signature 的计算逻辑,确保符合 API 要求。

    2023-09-14 07:51:41
    赞同 展开评论 打赏
  • 你这属于base64吧,传进去的应该是一个二进制流。此回答整理自钉群“阿里云读光OCR客户交流反馈群 1”

    2023-09-13 19:26:50
    赞同 展开评论 打赏

文字识别技术可以灵活应用于证件文字识别、发票文字识别、文档识别与整理等行业场景,满足认证、鉴权、票据流转审核等业务需求。

热门讨论

热门文章

相关电子书

更多
阿里云智能-印刷文字识别OCR-产品介绍 立即下载
阿里巴巴读光OCR 立即下载
印刷文字识别算法设计与在线服务 立即下载