当前位置: 首页 > 知识库问答 >
问题:

移动应用程序的openweathermap API问题

周和歌
2023-03-14

我正在我的iOS应用程序中使用openweathermap API。

以下是我的URL,我呼吁获取是否信息。

http://api.openweathermap.org/data/2.5/weather?lat=21.282778

在浏览器中打开此url时,我得到了正确的响应。

但当我从iOS应用程序调用Web服务时,我没有得到响应。我得到以下错误:

{
    cod = 401;
    message = "Invalid API key. Please see http://openweathermap.org/faq#error401 for more info.";
}

我从这个URL创建了API密钥:在Open Wheather上创建API密钥

共有1个答案

姜凯风
2023-03-14
NSURL *URL = [NSURL URLWithString:@"http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=b1b15e88fa797225412429c1c50c122a&lang=en-US"];
    NSURLRequest *request = [NSURLRequest requestWithURL:URL];

    NSURLSession *session = [NSURLSession sharedSession];
    NSURLSessionDataTask *task = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
    {
        NSError* errorObj;
        NSDictionary* json = [NSJSONSerialization
                              JSONObjectWithData:data
                              options:kNilOptions
                              error:&errorObj];

        NSLog(@" response is %@",json);

    }];

    [task resume];

您的应用 ID 应有效。我已经硬编码了网址以进行演示。

 类似资料:
  • 了解如何下载和使用 Photoshop Fix、Photoshop Mix、Photoshop Sketch、Preview CC 及 Lightroom Mobile Adobe Photoshop Fix 使用 Adobe Photoshop Fix,可将 Adobe Photoshop 桌面软件的强大功能与移动设备的便利性相结合,从而在您的 iPhone 或 iPad 上提供富有创意且易于使

  • OpenWeatherMapAPI openweathermap.org 网站的 iOS 客户端 API 包

  • 我有这个JS代码: 我的JSON看起来像:{“日期”:“2017-03-27”,“顺序”:“61”,“数据”:[{“国家标签”:“澳大利亚”,“货币标签”:“多拉尔”,“单位”:“1”,“代码”:“澳元”,“汇率”:“18.946”},{“国家标签”:“巴西”,“货币标签”:“真实”,“单位”:“1”,“代码”:“BRL”,“汇率”:“7.951”},{“国家标签”Bulharsko,“货币标签”

  • 我有两个应用程序需要通过深层链接进行通信:Flutter Web应用程序和iOS上的Flutter移动应用程序。 基本上,流程需要是我单击在移动浏览器上运行的Web应用程序中的一个按钮,然后应该触发移动应用程序启动。 我遵循了设置深度链接的指定说明,并有两个观察结果: 一切都在Android上完美运行。 如果我在任何其他iOS应用程序(日历,MS Teams等)中点击链接,它就可以正常工作。这使我

  • 我在决定如何为一个RESTful API实现身份验证时遇到了一些麻烦,该API既可供web应用程序使用,也可供移动应用程序使用。 首先,我想研究HTTPS上的HTTP基本身份验证作为一种选择。对于移动应用程序来说,用户名和密码可以安全地存储在操作系统钥匙链中,并且在传输过程中无法被拦截,因为请求是通过HTTPS发出的。对于API来说,它也很优雅,因为它将是完全无状态的。问题在于web应用程序。将无

  • 我正在开发一个Blazor混合应用程序,目前正在尝试从我的手机上访问一个.NET Web API。 我已将.NET Web应用程序部署到IIS。API在JSON中只返回数据(对于那些不熟悉的人来说,数据类型已经在project中定义,并且随模板一起提供)。 API响应如下所示: 我将它部署到端口3004的本地主机上。所以在我PC的浏览器和手机的浏览器中,我都能成功到达这个地址并得到这个响应。 但是