403拒绝对使用Magento REST API的管理员用户进行访问

2024-05-14 12:51:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从Python访问Magento restapi。但是在最后一个阶段,我得到了{'messages':{'error':[{'message':'accessdenied','code':403}]}}。在

但是,当我试图从PHP脚本访问相同的东西时,它可以正常工作我。所以,管理员角色和权限没有问题。在

一种解决方案是here,但它建议将所有角色都交给guest。这在我的案例中不会发生,因为它将对所有用户开放,以便从浏览器获取产品。在

有谁能告诉我为什么不能从python访问相同的restapi,但能很好地与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()}

任何帮助都将不胜感激。在


Tags: tokenrestapihosturlgetsecretrequestsession

热门问题