使用Magento REST API拒绝管理员用户访问403

时间:2015-02-16 03:56:37

标签: php python json rest magento

我正在尝试从Python访问Magento Rest api。但在最后阶段,我收到{'消息':{'错误':[{'消息':'拒绝访问','代码':403}]}}。

但是,当我试图从PHP脚本访问同样的东西时,它对我来说很好。所以,管理员角色和权限没有问题。

一个解决方案是here,但它建议将所有角色都提供给访客。在我的情况下不可能发生这种情况,因为所有用户都可以从浏览器中获取产品。

请问任何人可以建议不能从python访问相同的Rest API的原因,但可以正常使用PHP。

这是我的Python脚本代码

{AGENTO_HOST = 'http://127.0.0.1'
MAGENTO_API_BASE = '%s/api/rest/' % MAGENTO_HOST

magento = OAuth1Service(
    name               = 'magento',
    consumer_key       = 'vygdq11yzaectqwbpn1h4zwlamsrpomi',
    consumer_secret    = '5x5idvqc8rh4vc8lrxeg4hvple0u63dt',
    request_token_url  = '%s/oauth/initiate' % MAGENTO_HOST,
    access_token_url   = '%s/oauth/token' % MAGENTO_HOST,
    # Customer authorization
    #authorize_url     = '%s/oauth/authorize' % MAGENTO_HOST,
    # Admin authorize url depending on admin url
    authorize_url      = '%s/admin/oauth_authorize' % MAGENTO_HOST,
    base_url           = MAGENTO_API_BASE
)

# get request token
request_token, request_token_secret = magento.get_request_token(method='POST', params={'oauth_callback': 'oob'})

# authorize us
authorize_url = magento.get_authorize_url(request_token)

print 'Visit this URL in your browser: ' + authorize_url
code = raw_input('Paste Code from browser: ')

session = magento.get_auth_session(request_token,
                                   request_token_secret,
                                   method='POST',
                                   data={'oauth_verifier': code})

headers = {'Accept': 'application/json'}
r = session.get('products', headers=headers)

articles = r.json()}

真的很感激任何帮助。

0 个答案:

没有答案