Rest 通过API检索Magento订单注释

Rest 通过API检索Magento订单注释,rest,magento,soap,Rest,Magento,Soap,我需要从另一个web应用程序检索Magento order评论。 MagentoAPI文档似乎有两种方法可以做到这一点,即通过和 REST文档很少。它只说明URL结构如下所示: 另外,默认的REST响应是XML格式的,但我需要JSON格式的 我已经在Magento中设置了一个API用户,并且使用SOAP从这个“其他”web应用程序创建了注释 我的问题,使用REST: 如何以JSON而不是XML获取响应 如何进行身份验证 如何使用REST Api检索Magento订单评论 下面是RESTAPI身份

我需要从另一个web应用程序检索Magento order评论。

MagentoAPI文档似乎有两种方法可以做到这一点,即通过和

REST文档很少。它只说明URL结构如下所示:

另外,默认的REST响应是XML格式的,但我需要JSON格式的

我已经在Magento中设置了一个API用户,并且使用SOAP从这个“其他”web应用程序创建了注释

我的问题,使用REST:

  • 如何以JSON而不是XML获取响应
  • 如何进行身份验证

  • 如何使用REST Api检索Magento订单评论

    下面是RESTAPI身份验证和检索顺序注释的示例代码

    Magento测试文件

    <?php
    session_start();
    $mageFilename = '../app/Mage.php';
    
    require $mageFilename;  
    Mage::app();
    
    // $callbackUrl is a path to your file with OAuth authentication example for the Admin user
    $callbackUrl = "http://magentohost/extrafiles/oauth-test.php";
    //oAuth Initiate URL
    $temporaryCredentialsRequestUrl = "http://magentohost/oauth/initiate?oauth_callback=" . urlencode($callbackUrl);
    //oAuth Authorize
    $adminAuthorizationUrl = 'http://magentohost/admin/oauth_authorize';
    //oAuth Token URL
    $accessTokenRequestUrl = 'http://magentohost/oauth/token';
    //API Url
    $apiUrl = 'http://magentohost/api/rest';
    
    //Consumer Key
    $consumerKey = '{{PUT_YOUR_CONSUMER_KEY}}';
    //Consumer Secret
    $consumerSecret = '{{CONSUMER_SECRET}}';
    
    
    if (!isset($_GET['oauth_token']) && isset($_SESSION['state']) && $_SESSION['state'] == 1) 
    {
        $_SESSION['state'] = 0;
    }
    try 
    {
        $authType = ($_SESSION['state'] == 2) ? OAUTH_AUTH_TYPE_AUTHORIZATION : OAUTH_AUTH_TYPE_URI;
        $oauthClient = new OAuth($consumerKey, $consumerSecret, OAUTH_SIG_METHOD_HMACSHA1, $authType);
        $oauthClient->enableDebug();
    
        if (!isset($_GET['oauth_token']) && !$_SESSION['state']) 
        {
            $requestToken = $oauthClient->getRequestToken($temporaryCredentialsRequestUrl);
            $_SESSION['secret'] = $requestToken['oauth_token_secret'];
            $_SESSION['state'] = 1;
            header('Location: ' . $adminAuthorizationUrl . '?oauth_token=' . $requestToken['oauth_token']);
            exit;
        } 
        else if ($_SESSION['state'] == 1) 
        {
            $oauthClient->setToken($_GET['oauth_token'], $_SESSION['secret']);
            $accessToken = $oauthClient->getAccessToken($accessTokenRequestUrl);
            $_SESSION['state'] = 2;
            $_SESSION['token'] = $accessToken['oauth_token'];
            $_SESSION['secret'] = $accessToken['oauth_token_secret'];
            header('Location: ' . $callbackUrl);
            exit;
        } 
        else 
        {
            $oauthClient->setToken($_SESSION['token'], $_SESSION['secret']);
    
           $resourceUrl = "$apiUrl/orders/21833/comments";
    
           $oauthClient->fetch($resourceUrl, array(), 'GET', array('Accept' => '*/*'));
           echo $oauthClient->getLastResponse();
        }
    } 
    catch (OAuthException $e) 
    {
        print_r($e->getMessage());
        echo "<br/>";
        print_r($e->lastResponse);
    }
    
    exit;
    ?>
    
    [
      {
        "created_at": "2016-12-06 15:53:28",
        "comment": "On order, Following Activity is done By: XXX Captured amount of $2,669.97 online. Transaction ID: \"XXXXXXX\".",
        "is_customer_notified": "2",
        "is_visible_on_front": "0",
        "status": "processing"
      },
      {
        "created_at": "2016-12-06 15:53:28",
        "comment": "Order is Created with following : Order is Created By: XXX Grand Total: $2669.97",
        "is_customer_notified": null,
        "is_visible_on_front": "0",
        "status": "processing"
      }
    ]