首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS中实现Google自定义搜索API

在iOS中实现Google自定义搜索API
EN

Stack Overflow用户
提问于 2014-11-20 19:56:32
回答 2查看 12.2K关注 0票数 15

我浏览了几个链接,以便找到在ios应用程序中实现google customsearchapi的适当步骤,并在这个过程中花费了大约6-7个小时。

链接:

https://developers.google.com/custom-search/json-api/v1/introduction

http://developers.google.com/apis-explorer/#p/customsearch/v1/search.cse.list?q=a&

_

h=1&

https://productforums.google.com/forum/#!topic/customsearch/hT2fnfErVwo

谷歌自定义搜索: iOS中的403错误

万物之父

所有这些都提供了形成的点点滴滴。是否有任何地方可以提供总结、精确的信息,以帮助在iOS应用程序中实现自定义搜索?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-20 19:57:50

流程的简要步骤:

创建一个Google帐户(如果您有,请忽略)

你可能会在下面找到一些与定价相关的信息。

这个页面很有帮助

(你也可以忽略这一点)

创建工程并生成API密钥

转到

google控制台

并创建一个项目

创建项目后,单击它以转到其详细信息。

在左栏的Auth&API段下,单击APIs。

现在你会发现

CustomSearchAPI

链接在Browse API部分(默认情况下未激活)中,通过单击右侧的按钮将其打开。

现在,单击APIs选项下方的Credentials

在这个页面上的“公共API访问”点击创建新的密钥按钮,现在,选择浏览器密钥(因为首先我们想在浏览器上测试它),创建它,并保留它,因为它是现在。

创建

自定义搜索引擎

现在,在新选项卡上,打开

自定义搜索引擎

页面。在此页面上,单击Create a custom search engine 按钮

这将引导您

创建新的搜索引擎页面

,在"Sites to search“字段中输入您的域名。(如果你没有一个不用担心,给任何东西,那就有www。在开头和结尾使用.com )

填写名称,如果它还没有选择一个,然后单击create。

所以你得到了一个跳跃的机器人来祝贺你?;)是的,就是这样。在这个页面上,点击“控制面板”按钮,进入“修改你的搜索引擎”。

这就是了,现在打开图像搜索,(如果你想的话)

另外,在"Sites to search“部分,选择”搜索整个网页但强调包含的项目“,而不是默认的"Search only included site”。

就是这样,在这个页面的底部点击更新。然后回到页面中间,在“详细信息”标题下,单击搜索引擎ID,复制Id,将其粘贴到某个位置。

搜索,

使用get请求

要发出get请求,请使用

此请求URL

在它替换中,{API

_

KEY},该密钥是您在“创建项目并生成API密钥”部分创建的

并替换{搜索

_

引擎

_

KEY}使用您刚刚复制-粘贴的搜索引擎Id,使用某个不同的值调用它,在查询字符串中,然后是'a',

https://www.googleapis.com/customsearch/v1?

*

*

q=a

*

*

&key={API

_

KEY}&cx={搜索

_

引擎

_

密钥}

改变任何你想搜索的东西,你必须有漂亮的JSON的搜索结果

其他东西

如果你想看到请求状态,回到你的项目页面,有多少个请求被放置,有多少个请求失败,等等。点击概览,你会得到这方面的图表,爱你谷歌

如果您在使用JSON时遇到问题,这里有一些链接可以为您服务,

什么是JSON

1

2

在中使用JSON

ios

..。

在中使用JSON

安卓

..。

票数 46
EN

Stack Overflow用户

发布于 2018-03-09 14:59:40

下面提供了在

Swift 4

,地址为

请求来自

代码语言:javascript
复制
let apiKey = "Your api key here"
let bundleId = "com.Your uniqueBundleId here"
let searchEngineId = "Your searchEngine here"
let serverAddress = String(format: "https://www.googleapis.com/customsearch/v1?q=%@&cx=%@&key=%@","Your query here" ,searchEngineId, apiKey)


let url = serverAddress.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let finalUrl = URL(string: url!)
let request = NSMutableURLRequest(url: finalUrl!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10)
request.httpMethod = "GET"
request.setValue(bundleId, forHTTPHeaderField: "X-Ios-Bundle-Identifier")

let session = URLSession.shared

let datatask = session.dataTask(with: request as URLRequest) { (data, response, error) in
    do{
        if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
            print("asyncResult\(jsonResult)")
        }
    }
    catch let error as NSError {
        print(error.localizedDescription)
    }
}
datatask.resume()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27039010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档