我的程序如下:AccessToken='XXXXXXXXXXXXXX'defgetContentInfo(contentID):url='https://ose.caiyun.feixin.10086.cn/richlifeApp/devapp/IContent'data={'ownerMSISDN':'thirdparty...
我的程序如下:
AccessToken = 'XXXXXXXXXXXXXX'
def getContentInfo(contentID):
url = 'https://ose.caiyun.feixin.10086.cn/richlifeApp/devapp/IContent'
data = {'ownerMSISDN':'thirdparty_anonymous_account',
'contentID':contentID,
'entryShareCatalogID':''}
print postData(url,data)
def postData(url,data={}):
auth = 'Bearer ' + base64.encodestring(AccessToken)[:-1]
data = json.dumps(data)
req = urllib2.Request(url,data)
req.add_header("Content-Type", 'text/json;charset=UTF-8')
req.add_header("Authorization", auth)
req.add_header("Content-length", len(data))
res_data = urllib2.urlopen(req)
return res_data.read()
为什么总是返回401认证失败?但我可以保证获取的AccessToken是正确的。
和彩云官方说明:http://caiyun.feixin.10086.cn/dev/index.jsp
请求消息对Content-Type的要求如下:
采用HTTP+XML方式时,Content-Type:text/xml;charset=UTF-8
采用HTTP+JSON方式时,Content-Type:text/json;charset=UTF-8 (我采用这种)
消息体采用UTF-8字符集编码。
-------------
HTTP必填头域
Content-Type:内容类型
Content-length:内容长度
Authorization: Bearer 编码后的AccessToken(AccessToken经过Base64编码后的字符串)
展开