我试图从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()}
任何帮助都将不胜感激。在
目前没有回答
相关问题 更多 >
编程相关推荐