1

我正在尝试代表用户在 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 或客户端,请告诉我.. 提前感谢您的帮助

4

1 回答 1

1

我编写了以下代码以使用 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

我希望这段代码可以帮助任何人。问候

于 2013-11-25T13:10:59.157 回答