Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Google与WorldWeatherOnline API混淆

Google与WorldWeatherOnline API混淆
EN

Stack Overflow用户
提问于 2017-08-26 17:51:44
回答 1查看 566关注 0票数 0

所以我刚开始为Google助手创建api代理。我跟踪了api.ai文档中https://api.ai/docs/getting-started/basic-fulfillment-conversation的所有内容,以便下面的代理获取天气并返回响应。这是一个有用的代码,但我想在响应中获得创造性。我要做的是让这个国家从反应中得到答案,并决定是显示摄氏还是华氏相等于返回的温度。但是在控制台上测试的时候,它继续使用摄氏。我也想返回友好的提醒,根据温度,我将在以后添加。

代码语言:javascript
运行
AI代码解释
复制
'use strict';
const http = require('http');
const host = 'api.worldweatheronline.com';
const wwoApiKey = '[api key]';
exports.weatherWebhook = (req, res) => {
  // Get the city and date from the request
  let city = req.body.result.parameters['geo-city']; // city is a required param
  // Get the date for the weather forecast (if present)
  let date = '';
 if (req.body.result.parameters['date']) {
date = req.body.result.parameters['date'];
console.log('Date: ' + date);
  }
  // Call the weather API
  callWeatherApi(city, date).then((output) => {
// Return the results of the weather API to API.AI
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ 'speech': output, 'displayText': output }));
 }).catch((error) => {
// If there is an error let the user know
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ 'speech': error, 'displayText': error }));
 });
};
function callWeatherApi (city, date) {
  return new Promise((resolve, reject) => {
// Create the path for the HTTP request to get the weather
let path = '/premium/v1/weather.ashx?format=json&num_of_days=1' +
  '&q=' + encodeURIComponent(city) + '&key=' + wwoApiKey + '&date=' + date;


console.log('API Request: ' + host + path);
// Make the HTTP request to get the weather
http.get({host: host, path: path}, (res) => {
  let body = ''; // var to store the response chunks
  res.on('data', (d) => { body += d; }); // store each response chunk
  res.on('end', () => {
    // After all the data has been received parse the JSON for desired data


    let response = JSON.parse(body);
    let forecast = response['data']['weather'][0];
    let minTemp = forecast['mintempC'];
    let maxTemp = forecast['maxtempC'];
    let unit = '°C'; 
    let location = response['data']['request'][0];
    //get country
    let country = location['query'].split(",")[1];

    let conditions = response['data']['current_condition'][0];
    let currentConditions = conditions['weatherDesc'][0]['value'];

    if(country == "Liberia" || country == "Myanmar" || country == "United States of America")
    {
        minTemp = forecast['mintempF'];
        maxTemp = forecast['maxtempF'];
        unit = '°F';
    }

    // Create response
  let output =
   `Current conditions in the ${location['type']} 
    ${location['query']} are ${currentConditions} with a projected high of
    ${maxTemp} ${unit} and a low of 
    ${minTemp}${unit} on 
    ${forecast['date']} in ${country}`;
    // Resolve the promise with the output text
    console.log(output);
    resolve(output);
  });
  res.on('error', (error) => {
    reject(error);
  });
});
 });
}
EN

回答 1

Stack Overflow用户

发布于 2017-08-28 13:03:35

与试图获取用户来自哪个国家不同,您可以使用getUserLocale获取用户的区域设置,用户可以根据自己的意愿进行更改,并且独立于他们的位置,这可能更好地反映他们喜欢的温度等级。

使用该方法,您将收到一个字符串,如'en-US''en-GB',这些字符串与一个国家相关联,因此您可以映射到特定的温度范围。使用本地化的示例可以找到这里

在Google模拟器上的操作中,您可以使用语言下拉列表更改区域设置,这样您就可以使用不同的地区测试应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45901072

复制
相关文章
Baidu与Google地图API初探
前天周六,有个好友过来玩,他说想在他的站点中加入地图导航模块,但不知道选择哪个第三方Map API
全栈程序员站长
2022/07/12
1.8K0
Baidu与Google地图API初探
Baidu与Google地图API初探
前天周六,有个好友过来玩,他说想在他的网站中加入地图导航模块,但不知道选择哪个第三方Map API
阳光岛主
2019/02/19
2.6K0
js混淆与反混淆
由于设计原因,前端的js代码是可以在浏览器访问到的,那么因为需要让代码不被分析和复制从而导致更多安全问题,所以我们要对js代码进行混淆。
ek1ng
2023/03/08
11.8K0
js混淆与反混淆
Google JavaScript API
You can use the JavaScript client library to interact with Google APIs, such as People, Calendar, and Drive, from your web applications. Follow the instructions on this page to get started.
拿我格子衫来
2022/01/24
6130
Google 发布 Google Friend Connect API
Google Friend Connect 是 Google 推出的社会化网络工具,通过此工具你可以将各种支持 OpenSocial 的应用通过 Google Friend Connect 在你的网站上应用,并且可以和已有的社会化网络进行整合应用。今天 Google 更是开放了 Google Friend Connect 的 API,让你能够访问到更多 Google Friend Connect 核心的数据和功能。 Google Friend Connect 提供两种 API,JavaScript API 允许你能够直接集成社会化社区到你的网页中。REST API 能够允许你把网站的现有的登陆系统和数据集成新的社会化数据和活动,并能实现让你的网站实现通过 Gmail 账号,Yahoo 账号,OpenID 等方式实现单点登录。
Denis
2023/04/14
6610
使用Google翻译Api
将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为包含服务帐户密钥的JSON文件的文件路径。在Linux或macOS系统中设置方法如下:
职场亮哥
2020/10/10
4.6K0
Powershell编码与混淆
在powershell中最常使用的编码就是base64编码了,今天主要说一下Invoke-Obfuscation 这个powershell混淆编码框架,这也是著名的组织APT32 (海莲花)经常使用的
FB客服
2018/02/26
1.6K0
Powershell编码与混淆
Google JS API 授权 失败
// 初始化OAuth2.0授权 const authenticate = () => { return gapi.auth2.getAuthInstance() .signIn({scope: "https://www.googleapis.com/auth/documents https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/driv
拿我格子衫来
2022/01/24
4.1K0
Google JS API 授权 失败
Google短网址的API
除了速度快,goo.gl还提供详细的点击统计。比如,Yahoo首页的短网址是http://goo.gl/QuXj,那么它的统计数据就在http://goo.gl/info/QuXj。加上后缀".qr",还能得到这个网址的二维条形码,Yahoo的就是http://goo.gl/QuXj.qr。
ruanyf
2018/09/21
4.4K1
Google短网址的API
Google MAP API 初步尝试
今天看了一下午Google的API,发现还挺简单的。稍微懂点Javascript就可以了。 写了个小例子
EltonZheng
2021/01/26
1.6K0
Python 源码混淆与加密
Python 是一种解释型语言,没有编译过程,发布程序的同时就相当于公开了源码,这也是其作为开源语言的一个特性。但在某些场景下,我们的源码是不想被别人看到的,例如开发商业软件、编写 0day 漏洞 POC/EXP、免杀 shellcode 等。
全栈程序员站长
2022/10/02
6K0
Python 源码混淆与加密
Google JavaScript API 的使用
您可以使用JavaScript客户端库与Web应用程序中的Google API(例如,人物,日历和云端硬盘)进行交互。请按照此页面上的说明进行操作。
拿我格子衫来
2022/01/24
3K0
使用Google JS api 创建 文档
https://developers.google.com/docs/api/reference/rest/v1/documents/request#Request
拿我格子衫来
2022/01/24
3.3K0
使用Google JS api 创建 文档
Google 新推出Background sync API
Background sync是Google新推出的Web API,可延迟用户行为,直到用户网络连接稳定。这样有助于保证用户想要发送的数据就是实际发送的数据。 目前存在的问题 网络是消磨用户时间最多的途径,时间浪费在网络上等待网页加载,网页呈现等一些加载数据方面。 但是有很多时候,并不希望浪费时间,更期望达成是以下的体验:1. 拿出手机;2. 实现用户目标;3. 放回手机;4. 享受人生 然而,流畅的用户体验往往都会受糟糕的网络而影响,常常会为用户呈现空白屏幕或停滞不动的进度条,用户最多能容忍10秒。尽管“
葡萄城控件
2018/01/10
1.5K0
折腾Google Docs API 的坑
快速开始 https://developers.google.cn/docs/api/quickstart/nodejs#step_2_install_the_client_library
拿我格子衫来
2022/01/24
1.3K0
折腾Google Docs API 的坑
混淆矩阵简介与Python实现
混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)
里克贝斯
2021/05/21
1.9K0
混淆矩阵简介与Python实现
Android 代码混淆 混淆方案
本篇文章:自己在混淆的时候整理出比较全面的混淆方法,比较实用,自己走过的坑,淌出来的路。请大家不要再走回头路,可能只要我们代码加混淆,一点不对就会导致项目运行崩溃等后果,有许多人发现没有打包运行好好地,打包完成以后而又不不可以了,导致了许多困惑,本片文章来问大家解决困惑,希望对大家有帮助。
全栈程序员站长
2022/09/02
2.7K0
Cobalt Strike隐藏特征与混淆流量
服务器禁ping从某种意义上来说,算是不存活的主机,但nmap是依然能够扫描出来的。 设置禁ping命令: vim /etc/sysctl.conf 打开后按i进入编辑模式,在任意位置新增以下内容 net.ipv4.icmp_echo_ignore_all=1
kam1
2022/03/08
3.4K0
Cobalt Strike隐藏特征与混淆流量
在 PHP 中使用 Google Charts API
利用 Google Chart API 可以制出各种统计图表,当前支持线形图、柱形图、饼形图、散点图、曲线图。Google Charts API Code 页面有对这个 API 使用的详细说明,但是还略显繁琐。今天发现有人开发了一个这个方面的 PHP 类,并且还包括三个例子,我就挑选一个例子结合自己的一个项目给大家讲解下如何使用:
Denis
2023/04/14
1.1K0
在 PHP 中使用 Google Charts API
Fairplay DRM与混淆实现的研究
研究Fairplay DRM(Digital Rights Management,即数字版权保护)最关键的两点是授权和加密。但长久以来,关于App DRM的研究却很少,而就是在这样的前提下,Fairplay DRM又为iOS App的安全研究叠加了一层“阻碍”。我们通过分析混淆系统的设计和实现过程中的问题,克服调试跟踪的障碍,设计了多种静态和动态的对抗方案;同时通过大量的逆向工程,填补了安全研究人员对macOS系统机制中,关于Fairplay这一部分的认知空白。
美团技术团队
2021/12/02
2.1K0
Fairplay DRM与混淆实现的研究

相似问题

与Google Cloud Platform和Google Cloud Storage API的混淆

11

Google Auth Javascript API与角材料组件混淆

10

与iframe api混淆

11

用RetroFit 2.0和WorldWeatherOnline API缺少JSON

12

API目标与最小混淆

35
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文