我正在 godatafeed.com 申请一个帐户,他们说我的网站没有启用 xml-rpc。我检查了所有设置,但找不到任何关于此的内容。
我检查了一些网站,他们说要尝试浏览此网址”
http://www.theprinterdepo.com/index.php/api/xmlrpc/ http://www.theprinterdepo.com/index.php/api/?wsdl
第二个有效,第一个不显示任何内容。
如何启用此服务?
我正在 godatafeed.com 申请一个帐户,他们说我的网站没有启用 xml-rpc。我检查了所有设置,但找不到任何关于此的内容。
我检查了一些网站,他们说要尝试浏览此网址”
http://www.theprinterdepo.com/index.php/api/xmlrpc/ http://www.theprinterdepo.com/index.php/api/?wsdl
第二个有效,第一个不显示任何内容。
如何启用此服务?
第一个可能不起作用,因为有人(可能是您自己)已将解决方法修复应用于 xmlrpc 安全漏洞。
您可以在此处找到有关该漏洞的更多信息。
以下是我为其工作所遵循的步骤:
安装 Magento 1.1(最低)
在 admin 中,在 System -> Web Services 下,添加一个用户,添加一个角色(指定角色的访问级别,或选中“全部”),然后将用户分配给角色
使用 XML RPC 客户端(Mac OS X 的一个很好的客户端:http: //ditchnet.org/xmlrpc/),将端点 URL 设置为http://yourstore/magento/api/xmlrpc/
首先调用方法“login”,带有 2 个参数:用户和密钥(您刚刚在步骤 2 中创建了它们)。参考附件中的截图。
请求如下所示:
<methodCall>
<methodName>
login
</methodName>
<params>
<param>
<value>
<string>
test
</string>
</value>
</param>
<param>
<value>
<string>
123456
</string>
</value>
</param>
</params>
</methodCall>
响应看起来像这样(它包含您的会话 ID):
<methodResponse>
<params>
<param>
<value>
<string>
a10915086ca235bcf71f66cfe70bd198
</string>
</value>
</param>
</params>
</methodResponse>
使用会话 ID,您现在可以调用任何其他方法。例如catalog_category.tree。因此,您只需始终调用方法“call”并传递 2 个参数:会话 ID、方法名称(请参阅附件中的屏幕截图)。您可能需要传递其他参数,具体取决于目标方法。
请参阅以下网址:-
前一阵子我玩过这个,最后因为需求的变化把它关掉了,但是......
要回答有关它在管理界面中的位置的问题,请转到System->Web Services->Users,然后按照 godatafeed.com 的要求添加一个用户,这将包括用户名、名字、姓氏、电子邮件、api 密钥, api key 确认,以及这个账号是否活跃。
您可能还需要为该用户创建一个特定角色... System->Web Services->Roles,这将根据需要/需要为分配给该角色的用户提供 Magento 子系统中的特定权限。
如果您需要更多信息,您可以查看 magentocommerce 论坛,我在之前实施它时发现了这个。该信息是旧的,但在您浏览线程时会更新且有用:http: //www.magentocommerce.com/boards/viewthread/11773/
您拥有的 URL 似乎是正确的,但如果用户不存在,它不会让任何事情发生。仔细检查您的 URL 与论坛中的信息,他们有示例来测试 API。
从下面的评论中,API v1 和 v2 的解释以及两者的 php 示例:http: //www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/introduction
虽然提供的所有信息都很有用,但我们无法解决发帖人的问题。