首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用rauth连接到LinkedIn API

用rauth连接到LinkedIn API
EN

Stack Overflow用户
提问于 2012-10-27 18:55:20
回答 1查看 1.4K关注 0票数 3

我正在尝试建立一个连接到LinkedIn的网站,我知道我必须使用OAuth令牌来连接到它,而且我在LinkedIn developer站点上看到了这些例子,然而,它们都使用OAuth2库,而我所使用的站点使用的是rauth库,这似乎跳过了几个步骤。它已经集成了Twitter,所以我将包括下面的代码,以防有人不太理解我的意思。

twitter.py:

代码语言:javascript
复制
import json

from django.http import HttpResponse
from django.conf import settings
from rauth.service import OAuth1Service

def twitter(request, username):
    twitter = OAuth1Service(
    name='twitter',
    consumer_key=settings.TWITTER_CONSUMER_KEY,
    consumer_secret=settings.TWITTER_CONSUMER_SECRET,
    request_token_url=settings.TWITTER_API_URL + 'oauth/request_token',
    access_token_url=settings.TWITTER_API_URL + 'oauth/access_token',
    authorize_url=settings.TWITTER_API_URL + 'oauth/authorize',
    header_auth=True)

url = '{0}1/statuses/user_timeline.json?include_rts=false' \
    '&exclude_replies=true&count=50&screen_name={1}'.format(
        settings.TWITTER_API_URL, username)

r = twitter.request('GET', url, access_token=settings.TWITTER_USER_KEY,
                    access_token_secret=settings.TWITTER_USER_SECRET)

return HttpResponse(content=json.dumps(r.response.json),
                    status=r.response.status_code,
                    content_type=r.response.headers['content-type'])

由于没有注释,我认为它向url发出了一个请求,该请求在发送时返回用户的时间线,但是为什么没有请求令牌创建访问令牌创建?它有TWITTER_USER_KEYTWITTER_USER_SECRET,但是rauth文档说您应该调用显式方法来获取令牌。我在这里错过了什么?

编辑:--我非常想使用rauth库,而不是干扰其他库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-15 16:48:56

代码语言:javascript
复制
r = twitter.request('GET', url, access_token=settings.TWITTER_USER_KEY,
                access_token_secret=settings.TWITTER_USER_SECRET)

函数twitter创建一个OAuth1Service并返回对象。上面的代码请求用户时间线,并且访问令牌和秘密似乎存在于设置对象中。可能是用于获取访问令牌和秘密的身份验证例程位于其他地方。

使用库的一个典型示例(直接取自rauth文档http://packages.python.org/rauth/)

代码语言:javascript
复制
service = OAuth1Service(
           name='example',
           consumer_key='123',
           consumer_secret='456',
           request_token_url='http://example.com/request_token',
           access_token_url='http://example.com/access_token',
           authorize_url='http://example.com/authorize')

request_token, request_token_secret = service.get_request_token()
authorize_url = service.get_authorize_url(request_token)

将授权URL传递给浏览器,以便将用户重定向到oAuth提供者的网站,用户可以授予应用程序的权限,然后重定向到客户端,然后发送下面的请求以获得访问令牌,使用该令牌可以发出获取数据的请求。

代码语言:javascript
复制
response = service.get_access_token(method='GET'
                             request_token=request_token,
                             request_token_secret=request_token_secret)
request_token, request_token_secret = service.get_request_token()

快乐编码:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13103154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档