如何对谷歌 API 搜索查询进行编码
How to encode Google API search queries?
通过他们的API搜索Google云端硬盘中的文件,他们的文档(在这里)谈到了如何对搜索字符串进行编码:
此页面上的所有示例都显示了未编码的 q 参数,其中 name = 'hello' 编码为 name+%3d+%27hello%27。
什么?如何像这样对字符串进行编码?
encodeURIComponent("name = 'hello'");
给我"name%3D'hello'"
编辑:我在这里仍然很困惑。我现在正在尝试手动执行测试查询,甚至无法使其工作。根据上面的示例,这应该有效:
https://www.googleapis.com/drive/v2/files?q=name+%3d+%27hello%27&access_token=...
但即使这样,从他们的文档中粘贴出来,也给了我:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Invalid query",
"locationType": "parameter",
"location": "q"
}
],
"code": 400,
"message": "Invalid query"
}
}
什么给?
它适用于 Google Drive API 的 v3,您不必使用 + 号。
基于您给出的示例的以下请求应该可以正常工作(当然使用有效的访问令牌):
https://www.googleapis.com/drive/v3/files?q=name%3D%27hello%27&access_token=...
试试这个
通过将某些字符的每个实例替换为表示字符的 UTF-8 编码的一个、两个、三个或四个转义序列(对于由两个"代理项"字符组成的字符,将仅是四个转义序列)来对统一资源标识符 (URI) 组件进行编码。
var encoding = encodeURIComponent(str);
例:
var q = "title contains 'hello'";
var url = "https://www.googleapis.com/drive/v2/files?q="+encodeURIComponent(q);
相关文章:
- 如何编码&在不是't是查询参数的一部分
- 同步 Javascript 承诺超时以加班 Google 地理编码查询限制
- 如何将JavaScript数组编码为与PHP兼容的“;数组参数“;在查询字符串中
- 将URL查询字符串值从JavaScript编码为ASP.NET MVC
- 在 Javascript 中将对象文本编码为 URL 查询字符串
- 余烬数据:防止对查询参数进行编码
- 如何对谷歌 API 搜索查询进行编码
- jQuery 编码 ajax 查询字符串中的空格
- 我不知道如何写出URL编码的查询字符串
- 有没有一种方法可以在调用诺基亚反向地理编码api时将响应和查询关联起来
- 如何编码和解码查询字符串从javascript到servletpage使用java
- Ember.js中查询参数的Url编码
- 如何删除URL编码在我的查询字符串使用Javascript
- 如何使用javascript从编码url获取查询字符串的值
- 节点查询字符串解析和字符编码
- http_build_query的JavaScript实现-生成url编码的查询字符串
- 使用base64编码的数据更新SQL查询
- url作为查询字符串中的值应该编码多少次?
- 如何用javascript编码搜索查询
- 如何维护数据库查询的字符编码