【问题标题】:How to Authorize android app to communicate with woocommerce site using postman如何授权android应用程序使用邮递员与woocommerce网站通信
【发布时间】:2019-04-05 17:16:24
【问题描述】:

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

请问我怎样才能使应用程序自动使用邮递员从我的网站检索 woocomerce 数据?

如有任何帮助,将不胜感激。

【问题讨论】:

  • 这与#postman 有何关系?
  • 其实我有自己问题的答案,我写它是为了帮助其他人解决它。当我给出我找到的解决方案时,你会明白的。

标签: android wordpress postman okhttp woocommerce-rest-api


【解决方案1】:

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

第一步:设置插件并获取启动所需的信息

  1. 首先,在您的 WoordPress 网站上安装并激活“WooCommerce”、“WP REST API”和“WP REST API - OAuth 1.0a 服务器”插件;
  2. 然后,在您的计算机上安装 postman;
  3. 然后从仪表板的 WooCommerce 设置页面转到 API 选项卡,确保选中激活 REST API 复选框;
  4. 仍在 WoordPress 后端,通过单击用户>应用程序页面上的添加新按钮创建一个新用户(这只会在您正确安装并激活上述插件时显示);

  5. 用户创建后;复制客户端密钥 (CK)客户端密钥(CS) 并将它们保存在安全的地方;

  6. 然后,返回用户>应用程序页面并将编辑链接悬停在您刚刚创建的用户名下; 用户 ID 显示在页面下方(在屏幕的左角);写下来以备不时之需。

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

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

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

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

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

“身份验证”:{“oauth1”:{ “请求”:“mysite.com/oauth1/request”,
“授权”:“mysite.com/oauth1/authorize”, “访问”:“mysite.com/oauth1/access”,“版本”:“0.1”}

作为您回复的一部分。 2.点击第一个链接(mysite.com/oauth1/request);邮递员打开一个新标签;在 TYPE 下,选择 OAuth 1.0 ;新字段出现在右侧。在Consumer Keyclient key (CK)client secret (CS) >消费者秘密字段;然后,再次单击发送按钮。您将得到的响应是这样的:

oauth_token=your_oauth_token_is_here&oauth_token_secret=your_oauth_token_secret_is_here&oauth_callback_confirmed=true

  1. 复制您的 oauth_token (TK) 和您的 oauth_token_secret(TKS) 的值;但请记住,这只是临时值,不要与最终的 oauth_token 和最终的令牌密钥混淆;
  2. 返回 postman 中的第一个选项卡,然后单击响应中的第二个链接 (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 并将其粘贴到您已经以 WoordPress 用户身份登录的浏览器中;

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

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 部分,粘贴 (mysite.com/wc-auth/v1/authorize) ;选择 OAuth 1.0 作为类型;字段出现在右侧。将 Access Token value 替换为 y我们的最终 oauth_token (FTK),将 Token Secret 替换为 final oauth_token_secret(FTKS); 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 数据; 我的意思是:

所以您现在需要做的就是复制从邮递员生成的整个 OKHTTP 代码,并在您的 ANDROID java 应用程序中使用它以获得许可;我使用 webview 在我的应用程序中显示此响应页面。我希望这能帮助很多在这个问题上苦苦挣扎的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 2021-10-02
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多