我试图代表用户在Linkedin上分享帖子。 我让用户通过身份验证过程来生成oauth2令牌。我有令牌,但现在我被困住了如何使用它。我在互联网上找到的所有帮助都是关于Oauth而不是Oauth2。我正在尝试发送请求,但我收到HTTP错误401:未经授权。以下是我的代码......
import urllib2, cookielib
cookie_jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
urllib2.install_opener(opener)
xml_request = ..... XML
headers={'Content-Type': 'application/xml'}
url = "http://api.linkedin.com/v1/people/~/shares/?oauth2_access_token=XXXX"
req = urllib2.Request(url, data=xml_request, headers = headers)
rsp = opener.open(req)
content = rsp.read()
我已经检查过并且令牌有效我正在使用相同的令牌获取网络更新...我已搜索并搜索但仍然没有帮助Oauth2。我在使用Oauth而不是Oauth2时看到的所有Linkedin客户端.. 请帮我解决如何发送此请求。 如果有人知道任何使用oauth2的api或客户请告诉我.. 在此先感谢您的帮助
答案 0 :(得分:0)
我在下面编写了使用OAuth 2.0在LinkedIn上共享内容的代码
import requests
import json
def make_request(method, url, token ,data=None, params=None, headers=None, timeout=60):
headers = {'x-li-format': 'json', 'Content-Type': 'application/json'}
params = {}
kw = dict(data=data, params=params, headers=headers, timeout=timeout)
params.update({'oauth2_access_token': token})
return requests.request(method.upper(), url, **kw)
def submit_share(comment, title, description, submitted_url, submitted_image_url, token):
post = {
'comment': comment,
'content': {
'title': title,
'submitted-url': submitted_url,
'submitted-image-url': submitted_image_url,
'description': description
},
'visibility': {
'code': 'anyone'
}
}
url = 'https://api.linkedin.com/v1/people/~/shares'
try:
response = make_request('POST', url, token,data=json.dumps(post))
response = response.json()
return response
except Exception:
return False
我希望这段代码可以帮助任何人。 此致