自定义rest api在magento中有403错误

时间:2014-04-25 09:42:38

标签: api magento rest oauth

我在magento中创建了一个自定义的rest api。 如果我通过此代码访问它,它工作正常:

http://www.magentocommerce.com/api/rest/introduction.html

但是当我想使用此网址访问此内容时

主机/ API /休息/数据Feed / truedash_customers

它给我一个错误:

403拒绝访问

任何人都可以告诉我为什么这会发生任何帮助,请......

2 个答案:

答案 0 :(得分:0)

1)快速而肮脏的修复: 在文件/app/code/core/Mage/Api2/Model/Auth.php中,更改以下值: DEFAULT_USER_TYPE ='来宾' 至 DEFAULT_USER_TYPE =' admin'。

在文件中 /app/code/core/Mage/Api2/Model/Auth/Adapter.php, 改变这一行 return(object)数组('类型' => Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,' id' => null); 对此: return(object)数组('类型' => Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,' id' =>' 1');

这样,身份验证系统就不会被破坏。

2)正确和长期修复: 使用magento覆盖机制覆盖这两个功能,以根据magento标准获得更好的解决方案。这样核心文件就完好无损了。

答案 1 :(得分:-1)

  1. 快速而肮脏的修复:在文件/app/code/core/Mage/Api2/Model/Auth.php中,将DEFAULT_USER_TYPE = 'guest'的值更改为DEFAULT_USER_TYPE = 'admin'

  2. 在文件/app/code/core/Mage/Api2/Model/Auth/Adapter.php,中,从

    更改此行
    return (object) array('type' => Mage_Api2_Model_Auth::DEFAULT_USER_TYPE,
                          'id' => null);
    

    到此:

     return (object) array('type' => Mage_Api2_Model_Auth::DEFAULT_USER_TYPE,
                           'id' => '1');
    
  3. 这样,身份验证系统就不会被破坏。