0

我是 Transifex 用户,我需要检索我的仪表板页面以及我组织的所有项目的列表。也就是我登录时看到的页面:https ://www.transifex.com/organization/(my_organization_name)/dashboard

我可以使用以下代码访问 Transifex API:

import urllib.request as url

usr = 'myusername'
pwd = 'mypassword'

def GetUrl(Tx_url):
    auth_handler = url.HTTPBasicAuthHandler()
    auth_handler.add_password(realm='Transifex API',
                          uri=Tx_url,
                          user=usr,
                          passwd=pwd)
    opener = url.build_opener(auth_handler)
    url.install_opener(opener)
    f = url.urlopen(Tx_url)
    return f.read().decode("utf-8")

一切正常,但没有 API 调用来获取我组织的所有项目。唯一的方法是获取该页面的 html 并对其进行解析,但如果我使用此代码,我将获得登录页面。

这适用于 google.com,但我收到 www.transifex.com 或 www.transifex.com/organization/(my_organization_name)/dashboard 的错误

Python,带有基本身份验证的 HTTPS GET

我是 Python 新手,我需要一些 Python 3 代码,并且只需要标准库。

谢谢你的帮助。

4

2 回答 2

1

呼吁

/项目/

返回您的项目以及您可以访问的所有公共项目(如您所说)。您可以通过将调用修改为以下内容来搜索所需的内容:

https://www.transifex.com/api/2/projects/?start=1&end=6

这样做会限制返回的项目数量。

现在,如果您没有很多项目,使用此调用可能对您更方便:

/project/project_slug

并分别取出每一个。

于 2014-06-18T14:01:02.303 回答
0

Transifex 带有一个 API,您可以使用它来获取您拥有的所有项目。

我认为你在项目中需要这个GET 请求。它以 JSON 格式返回您有权访问的所有项目的(slug、name、description、source_language_code)列表。

由于您熟悉 python,因此您可以使用requests库以更容易和更易读的方式执行相同的操作。

你只需要做这样的事情:

import requests
import json

AUTH = ('yourusername', 'yourpassword')
url =  'www.transifex.com/api/2/projects'

headers = {'Content-type': 'application/json'}

response = requests.get(url, headers=headers, auth=AUTH)

我希望我有所帮助。

于 2014-06-04T16:18:07.980 回答