首页 » Web前端 » phpoauth视频技巧_运用Woocommerce API 编写你的第一个脚本

phpoauth视频技巧_运用Woocommerce API 编写你的第一个脚本

访客 2024-12-07 0

扫一扫用手机浏览

文章目录 [+]

事实是,WooCommerce API并不特殊繁芜,但是就像任何新技能或产品功能一样,须要一点韶光来适应。
学习这类东西的最佳办法是找到一个大略易懂的教程,逐步勾引你完成一个过程,纵然它不是最真实的例子。
不要过于繁芜,只需一个快速的观点验证脚本,看看你是否能够让它事情。
这样的东西可以让你渲染一个页面,就像这样:

几分钟的搜索后,你可能已经意识到关于WooCommerce API有大量的好信息,比如WooCommerce API是什么;支持的端点列表;如何天生API密钥;以及如何在Postman或Insomnia等工具中测试API。

phpoauth视频技巧_运用Woocommerce API 编写你的第一个脚本

你找不到 的是阐明如何迈出下一步的文章:从API测试工具中的事情GET要求到一个功能性(纵然是基本的)脚本,从你的WooCommerce安装中提取信息并将其显示在不是你的WordPress网站上 - 无论是一个独立的Web做事器还是一个移动运用程序或其他什么地方。

phpoauth视频技巧_运用Woocommerce API 编写你的第一个脚本
(图片来自网络侵删)

这篇文章将向你展示:利用WooCommerce API实现你的第一个“Hello Woo”步骤的逐步指南。

我本日构建的示例脚本故意大略和简约,由于我不肯望细节在花哨的代码中丢失。
我构建的示例:

利用PHP构建(但该当很随意马虎将其转换为Node、Python或其他措辞)。
从现有的WooCommerce网站中提取产品列表。
在一个大略的HTML表格中显示图像、名称、描述和价格。
在开始编码之前

为了让这篇文章简短易读,我假设你已经完成了一些步骤。
但是在本博客的前面和下面的项目符号中都有链接,可以见告你如何完成这些任务。

你有一个安装了WordPress和WooCommerce的事情环境。
你至少有一两个产品在WooCommerce商店中发布。
你已经创建了一个只读API密钥,并且你有消费者密钥和消费者密钥准备就绪。
你已经成功从URL“http://YOUR_SERVER/wp-json/wc/v3/products”中得到了一个相应,利用Postman或Insomnia等工具。
“YOUR_SERVER”显然是你实际的WordPress安装的URL。
你有一个运行PHP代码的Web做事器。

一旦这些都就位了,我们就可以开始编码了!

对付困惑的Oauth

毫无疑问,当新开拓者考试测验利用WooCommerce API时,让他们碰着困难的是认证的事情。

这与WooCommerce无关,而与OAuth有关,它只是…奇怪。
很难明得。
令人沮丧地缺少文档 - 尤其是对付新开拓者来说。
现在,我将阐明一些关于OAuth与WooCommerce干系的内容,以帮助你战胜这个障碍。

大略的WooCommerce API操作利用OAuth 1.0版本。
不是 基本认证,就像网上的一些信息可能会说的那样。
OAuth 2.0与OAuth 1.0不兼容。
因此,如果你的系统支持2.0,你可能须要添加一些库来使这个脚本事情。
对付PHP来说,有一些不同的OAuth客户端。
在这个例子中,我利用了(有点)原生的PHP oauth模块。
我利用它是由于它大略,而不是由于它是最好的。
对付一个真实的实现,你险些肯定会想利用一些更新和更健壮的东西。
无论你利用哪个客户端,你都须要确保你能天生以下元素:一个韶光戳一个“nonce” - 一个随机数。
一个OAuth署名

如果你对这些项目不是100%确定,没紧要,由于你将不才面的示例中看到它们的位置。
但我希望在我们深入代码之前你能理解这些必需的元素。

但是,只管说了这么多…

让我们开始编码!

我将分阶段构建我们的脚本,这样你就可以理解它们在彼此之上的关键元素。

阶段一:认证、获取数据、退出。

<?php # 设置一些初始变量$url = 'http://localhost:8888/wp-json/wc/v3/products';$consumerKey = '1234567890';$consumerSecret = '09876564321';$nonce = mt_rand();$timestamp = time();# 设置OAuth$oauth = new OAuth($consumerKey,$consumerSecret);$oauth->setTimestamp($timestamp);$oauth->setNonce($nonce);$sig = $oauth->generateSignature('GET',$url);# 创建CURL命令$curl = curl_init();curl_setopt_array($curl, array( CURLOPT_URL => $url.'?oauth_consumer_key='.$consumerKey.'&oauth_signature_method=HMAC-SHA1&oauth_timestamp='.$timestamp.'&oauth_nonce='.$nonce.'&oauth_version=1.0&oauth_signature='.$sig, CURLOPT_RETURNTRANSFER => true,));# 实行CURL命令并返回数据$response = curl_exec($curl);curl_close($curl);echo $response;?>

在这个阶段,大部分事情是OAuth连接。
须要把稳的几点是:

我将URL、消费者密钥等拆分成单独的大略变量。
你在上面看到的消费者密钥和消费者密钥是(显然)假的。
请利用你真实的密钥。
同样显而易见的是,你不应该将你的密钥硬编码到你的代码中。
我在这里这样做只是为了清晰起见。
有更优雅的方法来将所有这些变量组合到CURLOPT_URL中。
再次强调,我以这种办法呈现它们是为了让代码易于理解,而不是由于这是最好的做法。

如果统统顺利,你可以从命令走运行这个脚本,得到的输出看起来像这样:

它不足都雅,但你可以看到我们从WooCommerce网站中提取了数据,包括名称、描述、URL等一系列信息。
这已经足够让我们进入下一步了。

阶段二:提取我们须要的数据。

<?php # 设置一些初始变量### 代码在这里缺失落 #### 实行CURL命令并返回数据$curl_response = curl_exec($curl);curl_close($curl);$response_array = json_decode($curl_response,true);foreach($response_array as $product) { $name = $product['name']; $permalink = $product['permalink']; $short_desc = $product['short_description']; $price = $product['price']; foreach($product['images'] as $image) { $image = $image['src']; break; }echo $name.', '.$permalink.', '.$short_desc.', '.$price.', '.$image."\n";}?>

这个版本的关键之处在于,我们利用了foreach循环来遍历每个产品,并提取我们想要的数据元素:名称、描述和价格;以及图像链接和指向WooCommercce做事器本身的链接。

我想指出的一些细节是:

从# 设置一些初始变量到# 实行CURL命令并返回数据的部分与前一个阶段相同,以是我没有包含它。
每个脚本的完全版本都可以在本文末端的下载中找到。
我们的API调用的原始输出是字符串格式,以是我利用json_decode()将其转换为PHP可以处理的数组。
一个产品可能有多个图像。
我的代码获取第一个图像并退出。
如果你的产品没有图像,代码很可能会出错。

和之前一样,你可以直接从命令走运行这个脚本,输出看起来像这样:

你可以看到我们更清晰地理解了我们提取的数据。
唯一须要把稳的是描述中的HTML格式仍旧存在。

到了这一步,我们的脚本已经准备好进入它的第三个和终极形式。

阶段三:准备投入生产!

<?php # 设置一些初始变量### 代码(仍旧)在这里缺失落 #### 实行CURL命令并返回数据$curl_response = curl_exec($curl);curl_close($curl);$response_array = json_decode($curl_response,true);$productlist = '<tr><td>Image</td><td>Name</td><td>Description</td><td>Price</td></tr>'."\n";foreach($response_array as $product) { $name = $product['name']; $permalink = $product['permalink']; $short_desc = $product['short_description']; $price = $product['price']; foreach($product['images'] as $image) { $image = $image['src']; break; } $productlist = $productlist.'<tr><td><IMG SRC="'.$image.'" width="100"></td><td><A HREF="'.$permalink.'"">'.$name.'</a></td><td>'.$short_desc.'</td><td>'.$price.'</td></tr>'."\n"; }?><!DOCTYPE html><html> <head> <title>My Simple Product Page</title> </head> <body> <table border=1> <?php echo $productlist; ?> </table> </body></html>

在这个版本的代码中,我们只是添加了一些元素,使它可以显示为一个网页。
这些包括:

$productlist变量,将数据包装成HTML表格构造。
显示产品图像,而不是列出URL。
将名称与产品URL结合在一起,使名称可点击。

结果,正如我们之前看到的,该当是这样的:

##

总结

从所有这些中得出的关键要点是,设置和利用WooCommerce API并不特殊困难。
通过看到一个大略的例子,你很可能已经有了如何扩展和增强你在这里学到的东西的想法。
最好的部分是,现在你有了将这些想法变成现实的知识!

标签:

相关文章

介绍百度码,技术革新背后的智慧之光

随着科技的飞速发展,互联网技术已经成为我们生活中不可或缺的一部分。而在这个信息爆炸的时代,如何快速、准确地获取信息,成为了人们关注...

Web前端 2025-01-03 阅读0 评论0

介绍皮箱密码,开启神秘之门的钥匙

皮箱,作为日常生活中常见的收纳工具,承载着我们的珍贵物品。面对紧闭的皮箱,许多人却束手无策。如何才能轻松打开皮箱呢?本文将为您揭秘...

Web前端 2025-01-03 阅读0 评论0

介绍盗号器,网络安全的隐忧与应对步骤

随着互联网的快速发展,网络安全问题日益突出。盗号器作为一种非法工具,对网民的个人信息安全构成了严重威胁。本文将深入剖析盗号器的原理...

Web前端 2025-01-03 阅读0 评论0