在Google文档(https://developers.google.com/url-
shortener/v1/getting_started
)中,要使用Google URL缩短器,我应该发出如下请求:
POST
https://www.googleapis.com/urlshortener/v1/url内容类型:application / json
{“ longUrl”:“ http://www.google.com/ “}
他们还说,我将必须进行身份验证:
“您的应用程序发送到Google URL的每个请求都需要Shortener
API向Google识别您的应用程序。有两种方法可以识别您的应用程序:使用OAuth 2.0令牌(也可以授权请求)和/或使用应用程序的API密钥。 ”
我选择了公共API密钥作为进行身份验证的方法:我为我的iOS应用创建了一个公共密钥。然后,我将以下代码用于POST(AFNetworking,使用Swift):
func getShortURL(longURL: String){
let manager = AFHTTPRequestOperationManager()
let params = [
"longUrl": longURL
]
manager.POST("https://www.googleapis.com/urlshortener/v1/url?key={my_key_inserted}", parameters: params, success: {
(operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in
println("JSON: " + responseObject.description)
},
failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
println("Error while requesting shortened: " + error.localizedDescription)
})
}
但是,我得到了日志:请求缩短时出错:请求失败:错误的请求(400)。
请告诉我如何解决。
您缺少的是为此请求设置正确的AFNetworking序列化程序。
由于Google响应使用JSON,因此您应该使用AFJSONRequestSerializer
。
manager.requestSerializer = AFJSONRequestSerializer()
像这样添加:
let manager = AFHTTPRequestOperationManager()
manager.requestSerializer = AFJSONRequestSerializer()
let params = ["longUrl": "MYURL"]
manager.POST("https://www.googleapis.com/urlshortener/v1/url?key=MYKEY", parameters: params, success: {(operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in
println("JSON: " + responseObject.description)
}, failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
println("Error while requesting shortened: " + error.localizedDescription)
})
问题内容: 现在,开发iOS应用程序的新语言已变得 迅捷 。 我们如何与 AFNetworking 集成或使用 NSURLSession 将是一个更好的选择? 请帮帮我.. 问题答案: 您必须将AFNetworking添加到您的swift项目 在构建设置->定义模块中设置为是 在构建设置-> Swift编译器-> Objective-C桥接文件中,例如,设置桥接文件’ProjectName-Bri
问题内容: 我正在寻找一个PHP函数,该函数可从字符串或文件中创建短哈希,类似于那些诸如tinyurl.com之类的URL缩短网站。 哈希不得超过8个字符。 问题答案: URL缩短服务宁可使用自动递增的整数值(例如补充数据库ID),并使用Base64或其他编码对其进行编码,以使每个字符具有更多信息(64而不是仅10个数字)。
问题内容: 首先,我真的很惊讶这不是重复的,因为在Objective-C中有大量的堆栈溢出问题可以解决这个问题,但是我还没有看到使用Swift的好答案。 我正在寻找的是Swift中的代码段,该代码段将任意字符串作为文本消息的正文发送到给定的电话号码。从本质上讲,我希望像这样从苹果的官方文档,但是在斯威夫特,而不是Objective- C的。 我认为这并不是太困难,因为可以在Android中只需几行
问题内容: 如何将mongodb ID缩短到更容易解析语法的URL中。该字符串在当前迭代中太长。 Base64不错,但仍然太长。我正在寻找7个以下字符范围内的更多内容。 我希望能够在node.js和浏览器中对其进行编码/解码。 问题答案: 从请求中解析ObjectId并不困难(因此我不确定为什么会出现问题?)。如果目标是创建可键入的URL,那么拥有更短且更“友好”的URL将很有价值。 您不能在分片
问题内容: 我正在研究使用一种算法来缩短/加密URL的可能性,该URL的长度从150到250个字符到最大12个字符。最初,我怀疑是否有可能,但我想利用StackOverflow的出色思想:) 该算法应该是可以用经典的asp,sql,c#,vb或foxpro或其他语言编写的算法。 如果没有以数据库为中心的方法,那是否有可能? 我在这里阅读的内容是,CFB模式下的AES将执行流密码,并且输出长度将与输
本文向大家介绍IOS网络请求之AFNetWorking 3.x 使用详情,包括了IOS网络请求之AFNetWorking 3.x 使用详情的使用技巧和注意事项,需要的朋友参考一下 前言: 计划把公司的网络请求与业务解耦,所以想着学习一下网络请求,最近学习了NSURLSession,今天来学习一下基于NSURLSession封装的优秀开源框架AFNetWorking 3.x,之前13年做iOS开发时