slruslan/gismeteo-weather-api

为 Gismeteo 私有天气端点提供的简单 PHP 包装器

dev-master 2019-02-21 19:49 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:48:24 UTC


README

Latest Version on Packagist License GPL

简单的 Gismeteo 私有 API PHP 包装器。

使用 Android 应用程序端点,因此您不需要令牌。

安装

使用 Composer

$ composer require slruslan/gismeteo-weather-api --dev

用法

初始化包装器实例

$api = new \Slruslan\Gismeteo\Gismeteo();

获取预报

// Pass your city id.
// See below how to get it
$cityId = 5233;

// Get forecast
$forecast = $api->getForecast($cityId);

// Get current weather data:
var_dump($forecast->fact->values);

// Get weather forecast for week:
var_dump($forecast->days);

// Get info for the city you specified:
var_dump($forecast->location);

该库并不是非常文档化,大多数字段都是未知的。如果您了解任何有关响应字段的信息,请随时发送拉取请求。

获取城市 ID

访问 gismeteo.ru 并打开您希望的城市。

然后在页面 URL 中您会看到一个数字,这就是城市 ID 本身。

例如

URL: https://www.gismeteo.ru/weather-sochi-5233/now/ 因此,索契的城市 ID 为 5233。

API 端点已不再工作

如果您下载了此库但发现它不起作用,这意味着 Gismeteo 更改了 API 端点 URL。

要找到新的端点,请下载 Android 应用的最新版本(https://4pda.ru/forum/index.php?showtopic=658787)并安装 apktool。

使用 apktool 反编译应用程序

apktool d gismeteo.apk

打开文件 smali/ru/gismeteo/a/d.smali 并参考第 52 行(未来也可能更改)。

您将看到类似的内容

const-string v1, "http://45e30b7f.services.gismeteo.ru/inform-service/a407a91cfcb53e52063b77e9e777f5bd/"

复制此 URL 并将其粘贴到 Gismeteo.php 文件中的 __construct() 方法中。

恭喜!您现在可以使用该 API 了。

许可

GNU 通用公共许可证 v3.0 (GPL)。描述可在 LICENSE 文件中找到。

联系

您可以通过电子邮件与我联系:dedagates@gmail.com

或在 VK: vk.com/slruslan