WooCommerce-使用我们的应用程序身份验证端点自动生成API密钥导致401无效URL错误

WooCommerce-使用我们的应用程序身份验证端点自动生成API密钥导致401无效URL错误,woocommerce,woocommerce-rest-api,Woocommerce,Woocommerce Rest Api,我试图使用WooCommerce提供的RESTAPI生成客户机密和客户密钥值,以便可以使用它调用其他WooCommerce RESTAPI。我参考了有关生成键值的文档,并使用Postman中的一个模拟端点(用于API中的回调URL)使其正常工作,如文档中所述 我在后端服务器中创建了一个POST服务,并设法在本地环境中设置了一个SSL证书,其中一个域映射到/etc目录中的hosts文件中。我运行了后端服务,并通过Postman调用了回调url,它成功了。然后我在实际的WooCommerce身份验证

我试图使用WooCommerce提供的RESTAPI生成客户机密和客户密钥值,以便可以使用它调用其他WooCommerce RESTAPI。我参考了有关生成键值的文档,并使用Postman中的一个模拟端点(用于API中的回调URL)使其正常工作,如文档中所述

我在后端服务器中创建了一个POST服务,并设法在本地环境中设置了一个SSL证书,其中一个域映射到/etc目录中的hosts文件中。我运行了后端服务,并通过Postman调用了回调url,它成功了。然后我在实际的WooCommerce身份验证端点中将其用作回调URL,以编程方式生成密钥并将其保存在我的数据库中。但是我越来越

“拒绝访问”-错误:未提供有效的URL

当我通过devtools->network检查浏览器时,注意到有一个401未授权错误

下面是用于生成WooCommerce API密钥的示例GET URL

http://localhost/woocommerce/wc-auth/v1/authorize?app_name=<SOME_NAME>&scope=read_write&user_id=36&return_url=http://localhost/woocommerce/&callback_url=https://foo.bar.dev:44329/api/services/app/woo_commerce_auth/6/callback

callback_url = https://foo.bar.dev:44329/api/services/app/woo_commerce_auth/6/callback 

任何关于为什么会发生这种情况的线索,我都找不到解决这个问题的方法。感谢您的帮助。

您好,将此贴出以供将来参考,并希望它也能帮助其他面临此问题的人

设置回调url时要记住的事项

  • 不允许使用非HTTPS URL终结点
  • URL不应为localhost URL(例如,localhost/callback将给出无效的URL错误)
  • URL不应包含端口号(例如localhost:4320/callback或foo.bar.dev:4892/callback无效)
  • 回调URL应该是POST URL
  • 如果出现错误,如
    错误:请求中出现错误,当时无法发送消费者数据。
    是在检查了上述所有内容后给出的检查与回调url相关的后端服务代码(我有一个500服务器错误触发了此错误,这不是一个问题)


    还有一个工具,例如,将非常有助于在本地环境中设置HTTPS端点来测试这一点。

    Hi我使用了一个名为“ngrok”的工具来生成一个简单的代理,该代理为我们的应用程序创建一个http和HTTPS端点,然后可以用于我们的测试。这消除了我之前遇到的问题。必要的密钥数据按预期转发到回调url。似乎WooCommerce不鼓励在URL中包含端口号。现在我收到一个错误,上面写着“错误:请求中发生了错误,当时无法发送消费者数据。”关于为什么会发生这种情况的任何想法或线索。您好,发布此消息以供将来参考。设置回调url时要记住的事项:1)不允许使用非HTTPS url端点。2) URL不应是本地主机URL(例如,将给出无效的URL错误)3)URL不应包含端口号(例如,或无效)。4) 回调URL应该是POST URL。出现上一条评论中的错误是因为回调url后端服务代码中存在内部错误(500服务器错误,不是商业问题)
    callback_url = https://513ca6ab-db16-4635-8d0b-9159e3b1e187.mock.pstmn.io/api/services/app/woo_commerce_auth/6/callback