如何授权Android应用程序使用邮递员与woocommerce网站进行通信

问题描述 投票:-2回答:1

我正在尝试构建一个Android应用程序,将本地用户连接到WordPress / WooCommerce网站并从中回溯数据以在应用程序中使用它们。

我如何授权应用程序使用邮递员从我的网站检索woocommerce数据?

任何帮助,将不胜感激。

android wordpress postman okhttp woocommerce-rest-api
1个回答
1
投票

实际上我问了这个问题,因为我花了几个月(我的意思是几个月)试图解决这个问题;除了这个tutsplus.com教程之外,我没有得到任何真正帮助我的答案,这对我解决问题很有帮助; the WooCommerce REST API doc是如此令人困惑,它使我的事情变得更糟,但它仍然值得一读。

第一步:设置插件并获取必要的信息以启动

  1. 首先,在WoordPress站点上安装并激活“WooCommerce”,“WP REST API”和“WP REST API - OAuth 1.0a Server”插件;
  2. 然后,在您的计算机上安装postman;
  3. 然后从仪表板的WooCommerce设置页面转到API选项卡,并确保勾选激活的REST API复选框;
  4. 仍然在WoordPress后端,通过单击users> applications页面上的add new按钮创建一个新用户(这只会显示你是否正确安装并激活了上面提到的插件);
  5. 创建用户后;复制客户端密钥(CK)和客户端密钥(CS)并将其保存在安全的地方;
  6. 然后,返回用户>应用程序页面,将编辑链接悬停在您刚刚创建的用户名下;用户ID出现在页面下方(屏幕左下角);把它写下来就可以了。

我们完成了收集必要数据的第一步,以开始验证应用程序并建立网站和应用程序之间的通信。

第二步:获取最终令牌并构建WC授权URL

这些步骤包括使用我们上面收集的数据来获取最终令牌(不要与临时令牌混淆)并构建WooCommerce授权URL,以建立应用程序和网站之间的通信。

我应该只使用邮递员这一步,但由于我无法从postman登录我的网站仪表板,我在邮递员和我的浏览器之间切换。我想最新版本的邮递员会解决这个问题,因为他们正在杀死Chrome加入...从不介意放手:

  1. 在邮递员仪表板的URL区域中,粘贴以下内容:mysite.com/wp-json。选择GET作为方法并按下SEND按钮;你会得到这个:

“authentication”:{“oauth1”:{“request”:“mysite.com/oauth1/request”, “授权”:“mysite.com/oauth1/authorize”,“access”:“mysite.com/oauth1/access","version”:“0.1”}

作为回应的一部分。 2.单击第一个链接(mysite.com/oauth1/request);邮递员打开一个新标签;在TYPE下,选择OAuth 1.0;新字段显示在右侧。在Consumer Key和Consumer Secret字段中分别填写我们从上面的步骤中获得的客户端密钥(CK)和客户端密钥(CS);然后,再次单击“发送”按钮。你会得到的回应是这样的:

组oauth_token = your_oauth_token_is_here&oauth_token_secret = your_oauth_token_secret_is_here&oauth_callback_confirmed =真

  1. 复制oauth_token(TK)和oauth_token_secret(TKS)的值;但请记住,这只是暂时的值,不要与最终的oauth_token和最终的令牌秘密相混淆;
  2. 回到邮递员的第一个标签页,然后点击响应中的第二个链接(mysite.com/oauth1/authorize);邮递员打开一个新标签;在TYPE下选择了OAuth 1.0;新字段显示在右侧。填写你的临时oauth_token(TK)和你的临时oauth_token_secret(TKS)。点击发送。在响应部分中单击预览链接以查看响应的样子,并且它将要求登录为WoordPress用户,您不能从邮递员那里登录;
  3. 滚动到邮递员的顶部,然后单击“保存”按钮下的代码链接;选择JAVA OK HTTP作为语言;你会得到这样的代码:

mysite.com/oauth1/authorize?oauth_consumer_key=your_costumer_key_is_here&oauth_token=your_temporary_token_key_is_here&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1512645061&oauth_nonce=VHeUrwCl4CP&oauth_version=1.0&oauth_signature=3bMUiF8%2Fg57EkwaDOdnQ8m3s8TQ%3D

复制括号中的URL并将其粘贴到您已作为WordPress用户登录的浏览器中;

  1. 授予应用授权;它会将您重定向到包含您的验证令牌(VT)的页面,您必须将其复制并保留在某处。
  2. 回到邮递员的第一个标签页,然后点击响应中的第三个链接(mysite.com/oauth1/access);邮递员打开一个新标签;选择OAuth 1.0作为一种类型;新字段显示在右侧。在SEND按钮之前有一个Params按钮;单击它;出现新字段;输入oauth_verifier作为密钥,输入验证令牌(VT)作为值;然后按SEND;响应如下:

组oauth_token = your_final_token_is_here&oauth_token_secret = your_final_token_secrete_is_here

这些是你最后的oauth_token(FTK)和你最后的oauth_token_secret(FTKS); 8.现在我们可以构建我们的最终URL;在邮递员中打开一个新标签;在URL部分,粘贴(mysite.com/wc-auth/v1/authorize);选择OAuth 1.0作为类型;字段显示在右侧。用最终的oauth_token_secret(FTKS)替换最终的oauth_token(FTK)和Token Secret的Access Token值; 9.单击Params按钮并输入以下对键/值:

app_name => your_app_name(来自第1步); user_id => your_user_id(来自第1步)return_url => your_return_url(我使用的是mysite.com)callback_url => your_callbak_url(我使用的是mysite.com)

单击“发送”按钮;一旦你的回答是200 OK;点击代码链接查看相应的JAVA OK HTTP代码;复制URL并在浏览器中将其过去,然后您才能看到应用程序要求批准访问WooCommerce数据;我是说这个:

所以你现在需要做的就是复制postman生成的整个OKHTTP代码,并在你的ANDROID java应用程序中使用它来获得权限;我使用webview在我的应用程序中显示此响应页面。我希望这能帮助很多人解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.