无法使客户端 API Redmine 身份验证
Can't make client API Redmine authentication
我正在尝试制作 android 应用程序 - API Redmine 的客户端。首先我需要的是身份验证,但我真的不明白如何实现它。 (使用改造)文档只说:
Most of the time, the API requires authentication. To enable the API-style authentication, you have to check Enable REST API in Administration -> Settings -> API. Then, authentication can be done in 2 different ways:
using your regular login/password via HTTP Basic authentication.
using your API key which is a handy way to avoid putting a password in a script. The API key
may be attached to each request in one of the following way:
- passed in as a "key" parameter
- passed in as a username with a random password via HTTP Basic authentication
- passed in as a "X-Redmine-API-Key" HTTP header (added in Redmine 1.1.0)
You can find your API key on your account page ( /my/account ) when logged in, on the right-hand pane of the default layout.
我找到了这个解决方案:
- HTTP Basic auth – http://login:password@redmine.org/issues.xml
- HTTP Basic auth with API token and login – http://login:RANDOM_KEY@redmine.org/issues.xml- (not >supported yet)
- HTTP Basic auth with API token – http://RANDOM_KEY:X@redmine.org/issues.xml
- Full token auth – http://redmine.org/issues.xml?key=RANDOM_KEY
但它不起作用。 API Redmine 的所有开源客户端都在使用类似自己的 servers/domains 之类的东西——我不明白。示例:
- http://**my.server**/projects/test.xml?key=1234
- http://**localhost:3000**/news.xml?key=01fc3e3832e32ae8c12bf0c3b0819ca4a5972825
- https:**sample.redmine.com**/
我需要一些帮助来理解这是什么(粗体文本)。如果没有这个
,我无法提出我的要求,或者 BASE_URL 在 Retrofit 中
Redmine 是一个开源软件包。因此,人们将它安装在自己的服务器上,这使得他们的 Redmine 安装在他们自己的主机名(可能还有子路径)上可用。
因此,在实现 Redmine 客户端时,通常需要一种方法让客户端的用户配置其 Redmine 服务器的基础 URL,例如 https://www.redmine.org
或 http://server.example.com:8080/redmine
.
您与客户一起生成的所有 API 请求都是相对于此基础 URL 的。但同样,每个用户的基础 URL 可能不同,需要由他们指定。
我正在尝试制作 android 应用程序 - API Redmine 的客户端。首先我需要的是身份验证,但我真的不明白如何实现它。 (使用改造)文档只说:
Most of the time, the API requires authentication. To enable the API-style authentication, you have to check Enable REST API in Administration -> Settings -> API. Then, authentication can be done in 2 different ways:
using your regular login/password via HTTP Basic authentication. using your API key which is a handy way to avoid putting a password in a script. The API key
may be attached to each request in one of the following way:
- passed in as a "key" parameter
- passed in as a username with a random password via HTTP Basic authentication
- passed in as a "X-Redmine-API-Key" HTTP header (added in Redmine 1.1.0)
You can find your API key on your account page ( /my/account ) when logged in, on the right-hand pane of the default layout.
我找到了这个解决方案:
- HTTP Basic auth – http://login:password@redmine.org/issues.xml
- HTTP Basic auth with API token and login – http://login:RANDOM_KEY@redmine.org/issues.xml- (not >supported yet)
- HTTP Basic auth with API token – http://RANDOM_KEY:X@redmine.org/issues.xml
- Full token auth – http://redmine.org/issues.xml?key=RANDOM_KEY
但它不起作用。 API Redmine 的所有开源客户端都在使用类似自己的 servers/domains 之类的东西——我不明白。示例:
- http://**my.server**/projects/test.xml?key=1234
- http://**localhost:3000**/news.xml?key=01fc3e3832e32ae8c12bf0c3b0819ca4a5972825
- https:**sample.redmine.com**/
我需要一些帮助来理解这是什么(粗体文本)。如果没有这个
,我无法提出我的要求,或者 BASE_URL 在 Retrofit 中Redmine 是一个开源软件包。因此,人们将它安装在自己的服务器上,这使得他们的 Redmine 安装在他们自己的主机名(可能还有子路径)上可用。
因此,在实现 Redmine 客户端时,通常需要一种方法让客户端的用户配置其 Redmine 服务器的基础 URL,例如 https://www.redmine.org
或 http://server.example.com:8080/redmine
.
您与客户一起生成的所有 API 请求都是相对于此基础 URL 的。但同样,每个用户的基础 URL 可能不同,需要由他们指定。