Python 如何使用tripit API制作独立工具?

Python 如何使用tripit API制作独立工具?,python,web-services,authentication,oauth,Python,Web Services,Authentication,Oauth,我正在尝试制作一个简单的命令行应用程序,该应用程序可以查询有关我旅行历史的数据。我似乎在oauth设置的某个地方被卡住了,但我并不完全清楚我做错了什么 我已经注册了一个应用程序,并被分配了一个API密钥和密码。我已经将它们分别作为OAUTH_密钥和OAUTH_密钥存储在creds.py中。然后我进行了一次初始交换,返回了一个令牌和一个秘密,我分别将其存储为OAUTH_令牌和OAUTH_令牌。然后,我尝试运行以下程序: #!/usr/bin/env python import sys impor

我正在尝试制作一个简单的命令行应用程序,该应用程序可以查询有关我旅行历史的数据。我似乎在oauth设置的某个地方被卡住了,但我并不完全清楚我做错了什么

我已经注册了一个应用程序,并被分配了一个API密钥和密码。我已经将它们分别作为OAUTH_密钥和OAUTH_密钥存储在creds.py中。然后我进行了一次初始交换,返回了一个令牌和一个秘密,我分别将其存储为OAUTH_令牌和OAUTH_令牌。然后,我尝试运行以下程序:

#!/usr/bin/env python

import sys
import time

import oauth2 as oauth

import creds

if __name__ == '__main__':

    url = 'https://api.tripit.com/v1/list/trip/format/json'

    params = {
        'oauth_version': "1.0",
        'oauth_nonce': oauth.generate_nonce(),
        'oauth_timestamp': int(time.time())
        }

    token = oauth.Token(key=creds.OAUTH_TOKEN, secret=creds.OAUTH_TOKEN_SECRET)
    consumer = oauth.Consumer(key=creds.OAUTH_KEY, secret=creds.OAUTH_SECRET)

    params['oauth_token'] = token.key
    params['oauth_consumer_key'] = consumer.key

    req = oauth.Request(method="GET", url=url, parameters=params)
    print req.to_url()

    signature_method = oauth.SignatureMethod_HMAC_SHA1()
    req.sign_request(signature_method, consumer, token)

    client = oauth.Client(consumer)
    resp, content = client.request(req.to_url(), "GET")

    print resp
    print content
它报告了一个错误:

{'status': '401', 'transfer-encoding': 'chunked',
 'server': 'nginx', 'connection': 'keep-alive',
 'date': 'Mon, 04 Jul 2011 00:13:15 GMT',
 'content-type': 'application/json'}
{"Error":{"code":401,"detailed_error_code":106.1,
 "description":"invalid token key: fc0e332517d03a515bf6fca5e3144e022c5f0076"}}
其中fc0e332517d03a515bf6fca5e3144e022c5f0076是来自身份验证步骤的OAUTH_令牌


有没有人成功地使用了这项服务,他们可能知道我做错了什么?也许我只是在oauth上做错了什么。

尝试使用?format=json而不是/format/json。我以前见过它是这样工作的,但没有使用JSON接口。

尝试使用?format=JSON而不是/format/JSON。我以前见过它以这种方式工作,但没有使用JSON接口