我想为 iOS 制作简单的 JIRA 助手,但无法弄清楚为什么 API 调用返回空数组。
例如,使用此代码我尝试获取项目列表:
let request = NSMutableURLRequest(URL: "http://myjira.atlassian.net/rest/api/2/project".URL!)
request.addValue("Basic " + emailAndPasswordAsb64String, forHTTPHeaderField: "Authorization")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.HTTPMethod = "GET"
let session = NSURLSession.sharedSession()
session.dataTaskWithRequest(request) { (data, response, error) -> Void in
guard let data = data, responseString = NSString(data: data, encoding: NSUTF8StringEncoding) as? String where !responseString.isEmpty else {
print("No valid response!", appendNewline: true)
return
}
print("Response: " + responseString, appendNewline: true)
}.resume()
但是得到这个:Response: []
我还尝试使用其他一些API,例如api/2/dashboard
,但收到了这个:
Response: {"startAt":0,"maxResults":20,"total":0,"dashboards":[]}
使用api/2/myself
我收到这个:
Response: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><status><status-code>401</status-code><message>Client must be authenticated to access this resource.</message></status>
也许我错过了一些东西,项目可能是不可见的?但对于基本授权,我使用管理员登录名和密码。
最佳答案
终于明白了!
我犯了两个错误:
http
是错误的,https
是正确的!emailAndPasswordAsb64String
是使用电子邮件和密码创建的,这是错误的!用户应该输入用户名
而不是电子邮件
!对于管理员帐户,默认用户名是admin
。
希望这会对某人有所帮助!
关于ios - 使用 JIRA API 接收项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31835966/