jonnyw/magento-oauth

Magento OAuth 测试

v1.0.1 2014-02-17 17:08 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:27:12 UTC


README

这是一个使用Lusitanian PHP OAuth库的 Magento OAuth 服务类。

Total Downloads Latest Stable Version Build Status Scrutinizer Quality Score Code Coverage

0.0 目录

  • 示例
  • 变更日志
  • 故障排除

1.0 示例

在仓库的 examples/ 目录中可以找到一个工作示例。

您可以为 Magento 服务创建自己的实例或使用 Lusitanian OAuth 库中的服务工厂,以确保所有依赖项都注入到服务中。

<?php

use OAuth\Common\Storage\Session;
use OAuth\Common\Consumer\Credentials;
use OAuth\Common\Http\Uri\UriFactory;
use OAuth\ServiceFactory;

$applicationUrl     = 'http://magento.local';
$consumerKey        = 'd19e5e1ce0a8298a32fafc2d1d50227b';
$consumerSecret     = '7c230aba0da67e2ab462f88e6e83ee39';

$storage        = new Session();
$uriFactory     = new UriFactory();

$serviceFactory = new ServiceFactory();
$serviceFactory->registerService('magento', 'JonnyW\MagentoOAuth\OAuth1\Service\Magento');

$currentUri = $uriFactory->createFromSuperGlobalArray($_SERVER);
$currentUri->setQuery('');

$baseUri = $uriFactory->createFromAbsolute($applicationUrl);

$credentials = new Credentials(
    $consumerKey,
    $consumerSecret,
    $currentUri->getAbsoluteUri()
);

$magentoService = $serviceFactory->createService('magento', $credentials, $storage, array(), $baseUri);

默认情况下,服务类在 admin 范围内授权用户。要授权客户,只需在实例化后设置 Magento 服务的授权端点即可。

<?php

use JonnyW\MagentoOAuth\OAuth1\Service\Magento;

$magentoService->setAuthorizationEndpoint(Magento::AUTHORIZATION_ENDPOINT_CUSTOMER);

2.0 变更日志

3.0 故障排除

如果您通过服务进行 API 请求时收到“服务器无法理解 Accept HTTP 头部媒体类型”的错误消息,那么您可能需要向请求中添加一个“Accept”头部。

$result = $magentoService->request('/api/rest/customers', 'GET', null, array('Accept' => '*/*'));