我一直在尝试为项目插入Toggl API,他们的示例都使用了CURL。我正在尝试使用C#包装器,这在尝试创建报告时会导致错误的请求,所以我想我会使用Postman来尝试一个简单的HTTP请求。
我似乎无法接受HTTP请求来接受我的API令牌。这是他们给出的例子(CURL):
=
我已经使用Postman尝试了以下HTTP请求,其中包含一个名为的标头 api_token,我的令牌为值:
curl -u my-secret-toggl-api-token:api_token -X GET "https://www.toggl.com/reports/api/v2/project/?page=1&user_agent=devteam@example.com&workspace_id=1&project_id=2"
(当然更改了ID和电子邮件)。
任何有关如何在HTTP中使用CURL -u的帮助都将不胜感激,谢谢。
答案 0 :(得分:15)
简单的方法是将凭据添加到网址user:pass@
格式。
https://my-secret-toggl-api-token:api_token@www.toggl.com/reports/api/v2/project/?page=...
<---------------------------------->
或者,您可以将凭证与http标头一起使用,如下所示:
Authorization: Basic XXXXXX
此处XXXXXX
为base64(my-secret-toggl-api-token:api_token)
答案 1 :(得分:0)
正如另一篇文章中向我解释的那样,如果您使用的是HttpWebRequest,则可以将api令牌传递给用户属性:
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes($"my-secret-toggl-api-token:api_token")));
答案 2 :(得分:0)
在node
环境中,您的请求可能看起来像这样:
const url = 'https://www.toggl.com/reports/api/v2/project/page=1&user_agent=devteam@example.com&workspace_id=1&project_id=2';
const token = 'my-secret-toggl-api-token:api_token';
fetch(url, {
method: 'GET', // not required
headers: {
Authorization: `Basic ${Buffer.from(String(token)).toString('base64')}`,
},
})