Magento REST API入门


8

因此,官方文档非常简短(不好!),特别是对于过去从未使用过REST / Oauth的人而言。我正在使用Magento 1.8.1 CE。

有人可以提供有关如何使用Magento的REST API的简单PHP示例吗?

使用他们的示例代码(http://www.magentocommerce.com/api/rest/introduction.html),我得到两个错误:

Message: Undefined index: state
Message: Use of undefined constant OAUTH_AUTH_TYPE_URI - assumed 'OAUTH_AUTH_TYPE_URI'

到目前为止,我已经完成了:

  • 安装php oauth扩展
  • 在Magento中至少创建一种产品
  • 配置Admin REST用户的资源权限,以检索Admin的所有产品数据
  • 创建消费者

任何帮助是极大的赞赏。

编辑:我把问题缩小为(惊讶,惊喜!)OAuth无法正常工作。我放弃并更改了Guest角色和属性以允许所有角色。然后,我导航到以下内容以测试它们是否正常工作:

http://yourdomain/api/rest/products
http://yourdomain/api/rest/products/1/images

一切确实都在工作。如果/当我确定如何正确处理身份验证时,我将发布答案。


您可以使用此处列出的示例进行身份验证。magentocommerce.com/api/rest/…。(向下滚动直到看到代码)有一个用于访客/客户,一个用于管理员登录。它们基本相同,只是所调用的url不同。他们为我工作得很好。
马吕斯

我来看一下 我现在有客人在工作,所以我搞砸了身份验证。谢谢你的提示。另外,您是否必须自己创建oauth_admin.php文件?(很抱歉,如果在链接的文章中对此进行了解释,但是我想我会问您,因为您可以使用它(:
user2636834 2014年

Answers:


2

所以@ user2636834您是否已经知道了这一点?

我记得在设置测试方案时遇到了相同的错误。似乎我没有安装Oauth:O。简而言之,我做到了(运行Ubuntu并按照以下说明进行操作,也会遇到此错误):

pecl install oauth

然后添加extension=oauth.sophp.ini的“动态扩展”部分。然后重启Apache

我尝试了Magento网站上的示例,并从API中得到了一个错误:

“无效的验证/错误请求”

我必须'Accept' => '*/*'$oauthClient->fetch()呼叫中添加标题。之后一切正常。

希望如果您还没有的话可以开始运作。


我在这里发布了类似的问题-> magento.stackexchange.com/questions/63611/…。我尝试添加'Accept' => '*/*'$oauthClient->fetch(),仍然可以得到一个403 Forbidden回应。有人说他们在安装SSL后解决了403。那真的有必要吗?(为清楚
起见
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.