2015-01-15 30 views
2

我的swift应用程序需要一些额外的授权。这个服务提供了一些例子,但没有一个例子很快。带有凭证的JSON NSURLRequest

我的代码:在Pyhton

let request = NSURLRequest(URL: NSURL(string: "https://www.kimonolabs.com/api/au4sl00w?apikey=iFotcJDm95fB6Ua7XiZRDZA0jl3uYWev")!) 

实施例红宝石

import urllib2 
request = urllib2.Request("https://www.kimonolabs.com/api/au4sl00w? apikey=iFotcJDm95fB6Ua7XiZRDZA0jl3uYWev", headers={"authorization" : "Bearer A5ve02gq40itf0eoYfT5ny6drZwcysxx"}) 
contents = urllib2.urlopen(request).read() 

实施例中的R

require 'rest_client' 
response = RestClient.get('https://www.kimonolabs.com/api/au4sl00w?apikey=iFotcJDm95fB6Ua7XiZRDZA0jl3uYWev', {'authorization' => 'Bearer A5ve02gq40itf0eoYfT5ny6drZwcysxx'}); 
print(response); 

library('RCurl') 
library('rjson') 
json <- getURL('https://www.kimonolabs.com/api/au4sl00w?apikey=iFotcJDm95fB6Ua7XiZRDZA0jl3uYWuc', 
    httpheader = c(authorization='Bearer A5ve02gq40itf0eoYfT5ny6drZwcysxx')) 
obj <- fromJSON(json) 
print(obj) 

那么,我如何在Swift中做到这一点?

回答

7

修改后的答案来自:"How to make an HTTP request + basic auth in Swift"

我相信它会是这个样子(假设你的API_IDau4sl00w):

let token = "yourToken" 

// create the request 
let url = NSURL(string: "https://www.kimonolabs.com/api/au4sl00w?apikey=iFotcJDm95fB6Ua7XiZRDZA0jl3uYWev") 
let request = NSMutableURLRequest(URL: url) 
request.HTTPMethod = "GET" 
request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization") 

而且一定要创建一个新的访问令牌,现在这一个是公开的:)

+0

我我不确定你的意思。我不想要用户名和密码。我需要这个令牌承载者A5ve02gq40itf0eoYfT5ny6drZwcysxx作为授权。你还能帮忙吗? –

+0

哦!很抱歉,我误读了。但我认为这是相同的步骤,只需更新:'request.setValue(“Bearer \(yourToken)”,对于HTTPHeaderField:“授权”(如果这实际上是你想要的,我一定会更新我的答案)请求= NSMutableURLRequest(URL:NSURL(string:“https:”) –

+0

感谢您的支持。我的请求(第一个代码有问题)我需要更改什么 –