0

我正在尝试编写一个控制台脚本来处理一些视频并自动上传它们。使用我的 vimeo 开发人员帐户,我创建了一个应用程序。每次我上传时,都会使用该用户的帐户。我请求并获得了通过此帐户上传的许可。

我假设我需要通过 xAuth 连接到 api,因为我无法从回调 url 获取 oauth 验证器字符串。

我有这个 python 代码试图登录,但我不断收到 400 Bad Request - Missing required parameter - A required parameter is missing。

import oauth2 as oauth

consumer = oauth.Consumer(client_id, client_secret)
        client = oauth.Client(consumer)
        client.add_credentials('email', 'password')
        client.authorizations
        creds = {'Authorization': 'Basic', 'x_auth_username': 'email', 'xauth_password': 'password'}

    params = {}
    params['x_auth_mode'] = 'client_auth'
    params['x_auth_permission'] = 'write'
    params['x_auth_username'] = 'email'
    params['x_auth_password'] = 'password'

    client.set_signature_method = oauth.SignatureMethod_HMAC_SHA1()
    resp, token = client.request('https://vimeo.com/oauth/access_token',
                                 method='POST', body=urllib.urlencode(params),headers=urllib.urlencode(creds))
4

1 回答 1

1

我认为您需要data回调的参数——只是根据 oauth 的问题进行猜测。

看起来这个问题(尽管我认为你不需要 xauth)是在 SO 上提出的:

针对 Vimeo API 使用 Rauth、Python 的 OAuth 签名无效错误

查看这张票——查看拉取请求的来源:

https://github.com/litl/rauth/pull/133

这是一个直接处理 Vimeo 的线程,我不久前回答了它,听起来像你的问题:

https://plus.google.com/u/0/109199982702464952248/posts/KGMFVprjbzJ

此示例使用 RAuth 库

from rauth import OAuth1Service

def Authorize():
vimeo = OAuth1Service(
    name='Vimeo',
    consumer_key=client_id,
    consumer_secret=client_secret,
    request_token_url='https://vimeo.com/oauth/request_token',
    authorize_url='https://vimeo.com/oauth/authorize',
    access_token_url='https://vimeo.com/oauth/access_token',
    base_url='http://vimeo.com/api/rest/v2',
)
try:
    request_token, request_token_secret = vimeo.get_request_token(key_token_secret=access_token_secret,data={})
    print(request_token)
except Exception, e:
    print(e)
于 2013-10-28T05:26:12.710 回答