Google earth api windows

Google закроет Earth API

Поисковый гигант в официальном блоге Google Geo Developers объявил, что 12 декабря 2015 года поддержка Google Earth API будет прекращена. В отличие от хорошо известных прецедентов закрытия популярных сервисов, таких как Google Reader или Google News, программа Google Earth (и веб-версия и десктопный клиент) останется, а сама причина закрытия имеет технический характер.

В конце сентября прошлого года в Google сообщили о том, что планируют отказаться от дальнейшего использования плагинов NPAPI (Netscape Plug-in API) в браузерах Chrome и Chromium по причине того, что его архитектура была разработана более 15 лет назад и уже не отвечает новым требованиям по безопасности и скорости работы, а мобильные браузеры это API вообще не поддерживают. Тогда же расширения для Chrome, написанные с использованием NPAPI, перестали работать — исключение было сделано только для участников «белого списка», куда включили Silverlight, Unity, Google Earth, Java, Google Talk а также Facebook Video.

Около месяца назад инженеры Chrome окончательно объявили сроки по полному прекращению поддержки NPAPI, включая и фигурантов «белого списка». А поскольку Earth API был как раз основан на возможностях устаревшего интерфейса, то и его поддержка прекратится почти синхронно с отключением NPAPI в Chrome и Chromium.

В качестве альтернативы Google рекомендует разработчикам использовать PPAPI (Pepper API), который, однако, не поддерживается другими браузерами и несовместим с NPAPI, или другие технологии, вроде NativeClient (NaCl).

Earth Engine User Interface API

Earth Engine provides access to client-side user interface (UI) widgets through the ui package. Use the ui package to construct graphical interfaces for your Earth Engine scripts. These interfaces can include simple input widgets like buttons and checkboxes, more complex widgets like charts and maps, panels to control the layout of the UI, and event handlers for interactions between UI widgets. Explore the full functionality of the ui API in the Docs tab on the left side of the Code Editor. The following example uses the ui package to illustrate basic functions for making a widget, defining behavior for when the user clicks the widget, and displaying the widget.

Hello, world!

This example represents a simple UI of a button displayed in the console. Clicking the button results in ‘Hello, world!’ getting printed to the console:

Code Editor (JavaScript)

Observe that first, the button is created with a single argument: its label. Next, the button’s onClick() function is called. The argument to onClick() is another function that will get run whenever the button is clicked. This mechanism of a function to be called (a «callback» function) when an event happens is called an «event handler» and is used widely in the UI library. In this example, when the button is clicked, the function prints ‘Hello, world!’ to the console.

Mutability

Note that unlike objects in the ee.* namespace, objects within the ui.* namespace are mutable. So you don’t need to reassign the object to a variable every time you call an instance function on the object. Simply calling the function will mutate (change) the widget. Appending the following code to the previous example results in registering another callback for the button’s click event:

Code Editor (JavaScript)

Copy this code to the end of the previous example and click Run. Now when you click the button, both messages are printed to the console.

Use the UI pages to learn more about building UIs for your Earth Engine scripts. The Widgets page provides a visual tour and describes basic functionality of the widgets in the ui package. The Panels and Layouts page describes top-level containers and layouts you can use to organize and arrange widgets. The Events page has details on configuring the behavior and interaction of widgets in your UI.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Рекомендации по работе с ключами API

Ключи API необходимы для приложений и проектов, в которых используются API и SDK платформы Google Карт. Ниже рассказывается об использовании и защите ключей API, а также об ограничении их действия.

Что такое ключи API

Ключи API – это учетные данные, которые действуют в пределах проекта и выполняют две задачи:

  • Идентификация проекта
    Идентификация приложения или проекта, совершающего вызов API или SDK.
  • Авторизация проекта
    Проверка того, есть ли у приложения разрешение вызывать API или SDK и включен ли в проекте API (SDK).
Читайте также:  Attempt write to readonly memory windows

Каждый ключ API связан с определенным проектом. Когда от проекта поступает вызов, ключ API выступает идентификатором. Благодаря этому информация об использовании регистрируется именно для этого проекта, а вызовы от других проектов отклоняются.

Защита ключей API

Обеспечьте защиту ключей API для всех сервисов платформы Google Карт, которые используются в вашем приложении. Для этого ограничьте действие ключей и воспользуйтесь рекомендациями для используемых API платформы Google Карт. Если незащищенные учетные данные окажутся в общем доступе, ими могут воспользоваться посторонние лица, а платить придется вам.

Ниже приведены стратегии защиты ключей API. Рекомендации для отдельных сервисов платформы Google Карт (Maps JavaScript API и т. д.) читайте в разделе Ключи API: ограничения и рекомендации.

Ограничивайте действие ключей API. Лучший способ защитить ключи API – ограничить их действие конкретными IP-адресами, URL перехода или мобильными приложениями, а также использовать каждый ключ только для определенных API. Эти меры помогают избежать серьезных последствий взлома ключа.

Ограничения ключа можно настроить на консоли. Для этого откройте страницу «Учетные данные» и создайте ключ API с нужной конфигурацией или отредактируйте параметры существующего ключа. Подробнее…

  • Используйте для каждого приложения отдельный ключ API. Это ограничит область действия ключей. Если один из них окажется взломан, можно будет просто удалить его, не трогая остальные.
  • Удаляйте ненужные ключи API.

    Чтобы удалить ключ API, выполните следующие действия:

    1. Перейдите на панель учетных данных.
    2. Выберите ключ API.
    3. Нажмите кнопку Удалить вверху страницы.
    4. Когда откроется всплывающее окно Удалить учетные данные, нажмите УДАЛИТЬ.

    Будьте внимательны при создании новых ключей API. Старые ключи уничтожаются через 24 часа после создания новых. Если для перевода приложений со старых ключей на новые требуется более 24 часов, то экземпляры, в которых не успеет обновиться ссылка на ключ, перестанут работать.

    При создании нового ключа API происходит следующее:

    • Создается новый ключ.
    • Все ограничения старого ключа переносятся в конфигурацию нового.
    • Начинается отсчет времени до уничтожения старого ключа. После создания нового ключа старый действует ещё 24 часа.

    Следите за отклонениями в использовании API. Если вы заметите признаки несанкционированного использования, смените ключи и сообщите в Google.

    Перед сменой старых ключей сохраните настройки ограничений в отдельном файле.

    Если в приложении используются Maps Web Service API или Static Web API, вам подойдут следующие методы защиты ключей и приложения.

    • Не встраивайте ключи API и секреты для подписания непосредственно в код приложения. Для такой конфиденциальной информации следует использовать переменные среды или файлы, хранящиеся отдельно от основного кода (в другом хранилище). Тогда ваши ключи API и секреты для подписания не попадут в чужие руки, даже если вам нужно будет открыть код приложения другим лицам.
    • Не храните ключи API и секреты для подписания в файлах дерева исходного кода приложения. Если вы храните подобную конфиденциальную информацию в файлах, не добавляйте их в дерево исходного кода, иначе эта информация может оказаться в системе управления кодом. Это особенно критично, если система общедоступная, например GitHub.
    • Прежде чем открывать код для других разработчиков, проверьте его. В нём не должно быть ключей API, секретов для подписания и прочей конфиденциальной информации.

    Если в мобильном приложении используются Web Service API или Static Web API, вам подойдут следующие методы дополнительной защиты ключей и секретов для подписания.

    Используйте прокси-сервер. Это сервер-посредник, который обеспечивает безопасное взаимодействие с API платформы Google Карт. Подробнее…

    Используйте закрепление ЦС и сертификатов для проверки серверных ресурсов. Закрепление ЦС позволяет удостовериться, что сертификат сервера выдан надежным центром сертификации (ЦС). Это предотвращает атаки посредника, в результате которых ваш ключ API может попасть в чужие руки. А с помощью закрепления сертификатов можно ещё и проверять открытый ключ в сертификате сервера. Закрепление хорошо использовать для мобильных клиентов, которые обмениваются данными непосредственно с серверами Google или с собственным прокси-сервером разработчика.

    Настройка ограничений для ключей API

    Ключи API – тоже учетные данные, поэтому будьте с ними очень осторожны. Обязательно настройте для них ограничения, чтобы избежать серьезных последствий в случае взлома, и выполняйте рекомендации ниже: они помогут обезопасить ваши ключи API.

    Ключи можно ограничивать по приложениям и по API.

    Ограничение Допустимый тип приложений позволяет использовать ключи API только для определенных сайтов (IP-адресов, URL) или платформ (Android, iOS). Для каждого ключа можно настроить только одно ограничение из этой категории (см. статью об API Google Карт для разных платформ).

    Допустимые API позволяют использовать ключи только для конкретных API или SDK платформы Google Карт. Если настроить для ключа такие ограничения, то запросы на использование выбранных API или SDK будут обрабатываться, а для остальных API и SDK – завершаться ошибкой. Для каждого ключа можно настроить любое количество допустимых API. Но если используется ограничение «Допустимый тип приложений», проверьте, чтобы выбранные API и/или SDK его поддерживали.

    Как настроить для ключа API допустимый тип приложений

    1. Перейдите на панель учетных данных.
    2. Выберите нужный ключ API. Откроется страница со свойствами ключа API.
    3. В разделе Ограничения для ключа нажмите Допустимый тип приложений.
      Выберите тип ограничения и укажите всю нужную информацию.

      Запросы принимаются только от указанных сайтов.

      Задайте под списком типов сайты-источники. Для указания похожих URL допускается использовать подстановочные знаки. Например, если ввести *.google.com , то приниматься будут запросы от https://developers.google.com и всех остальных сайтов, заканчивающихся на google.com .

      Запросы принимаются только от указанных IP-адресов веб-серверов.

      Задайте под списком типов один адрес (IPv4, IPv6) или подсеть в формате бесклассовой адресации (например, 192.168.0.0/22). Когда вы закончите, появится поле ввода нового адреса. Так вы сможете добавить все нужные адреса.

      Чтобы ключ можно было использовать только с вашим приложением для Android, задайте название пакета и цифровой отпечаток сертификата для подписи SHA-1.

      Добавьте под списком типов цифровой отпечаток сертификата SHA-1 и название пакета Android из файла AndroidManifest.xml.

      Запросы принимаются только от приложения для iOS с указанным идентификатором пакета.

      Выберите под списком типов нужный идентификатор пакета iOS.

      Тип ограничения Описание
      HTTP-источники перехода
    4. Нажмите Сохранить.
      Заданное ограничение будет добавлено в определение ключа API. Если вы не укажете обязательные данные или не нажмете «Сохранить», ограничение не подействует. Подробности читайте в руководстве по получению ключа API для нужного API или SDK.
    Читайте также:  Вид папок список по умолчанию windows 10

    Как настроить для ключа допустимые API

    1. Перейдите на панель учетных данных.
    2. Выберите нужный ключ API.
      Откроется страница Добавление ограничений и изменение названия ключа API.
    3. В разделе Допустимые API:
      • Нажмите Применить ограничения для ключа.
      • В раскрывающемся списке Выберите API укажите нужные API или SDK. Приложение будет использовать ключ API для доступа к ним. Если определенных API или SDK нет в списке, включите их.
    4. Нажмите Сохранить.
      Заданное ограничение будет добавлено в определение ключа API. Если вы не укажете обязательные данные или не нажмете «Сохранить», ограничение не подействует. Подробности читайте в руководстве по получению ключа API для нужного API или SDK.

    Ключи API: ограничения и рекомендации

    В таблицах ниже приведены ограничения и рекомендации для каждого API, SDK и сервиса платформы Google Карт.

    Сайты с Maps JavaScript API, Embed API и Static API

    API/SDK/сервис Допустимый тип приложений1 Допустимые API1 Рекомендации
    Maps JavaScript API2 HTTP-источники перехода Maps JavaScript API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Сервис Directions, Maps JavaScript API HTTP-источники перехода Directions API, Maps JavaScript API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Сервис Distance Matrix, Maps JavaScript API HTTP-источники перехода Distance Matrix API, Maps JavaScript API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Сервис Elevation, Maps JavaScript API HTTP-источники перехода Elevation API, Maps JavaScript API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Сервис Geocoding, Maps JavaScript API HTTP-источники перехода Geocoding API, Maps JavaScript API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Библиотека Places, Maps JavaScript API HTTP-источники перехода Places API, Maps JavaScript API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Maps Embed API HTTP-источники перехода Maps Embed API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Maps Static API HTTP-источники перехода Maps Static API
    • Ограничьте действие ключей API
    • Цифровые подписи3
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте секрет для подписания непосредственно в код
    • Не храните секрет для подписания в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Street View Static API HTTP-источники перехода Street View Static API
    • Ограничьте действие ключей API
    • Цифровые подписи3
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте секрет для подписания непосредственно в код
    • Не храните секрет для подписания в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его

    Приложения и серверы, использующие веб-сервисы

    API/SDK/сервис Допустимый тип приложений1 Допустимые API1 Рекомендации
    Directions API IP-адреса 4 Directions API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте ключ API непосредственно в код
    • Не храните ключ API в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Distance Matrix API IP-адреса 4 Distance Matrix API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте ключ API непосредственно в код
    • Не храните ключ API в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Elevation API IP-адреса 4 Elevation API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте ключ API непосредственно в код
    • Не храните ключ API в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Geocoding API IP-адреса 4 Geocoding API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте ключ API непосредственно в код
    • Не храните ключ API в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Geolocation API IP-адреса 4 Geolocation API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте ключ API непосредственно в код
    • Не храните ключ API в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Places API5 IP-адреса 4 Places API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте ключ API непосредственно в код
    • Не храните ключ API в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Roads API IP-адреса 4 Roads API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте ключ API непосредственно в код
    • Не храните ключ API в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Time Zone API IP-адреса 4 Time Zone API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    • Не встраивайте ключ API непосредственно в код
    • Не храните ключ API в файлах дерева кода
    • Прежде чем открывать код для других разработчиков, проверьте его
    Читайте также:  First computer to use windows

    Приложения для Android

    API/SDK/сервис Допустимый тип приложений1 Допустимые API1 Рекомендации
    Maps SDK для Android Приложения для Android Maps SDK для Android
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Places SDK для Android Приложения для Android Places API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API

    Приложения для iOS

    API/SDK/сервис Допустимый тип приложений1 Допустимые API1 Рекомендации
    Maps SDK для iOS Приложения для iOS Maps SDK для iOS
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API
    Places SDK для iOS Приложения для iOS Places API
    • Ограничьте действие ключей API
    • Используйте для каждого приложения отдельный ключ API
    • Удаляйте ненужные ключи API
    • Будьте внимательны при создании новых ключей API
    • Следите за отклонениями в использовании ключа API

    1 Чтобы использовать ключ API с любыми SDK или API платформы Google Карт, не обязательно настраивать для него ограничения. Но мы настоятельно рекомендуем это сделать, особенно если:

    • тестовая среда является или будет общедоступной;
    • приложение, использующее ключ API, готово для перевода в рабочую среду.

    2 Для мобильных приложений рекомендуем использовать нативные пакеты Maps SDK for Android и Maps SDK for iOS.

    3 Для Maps Static API и Street View Static API требуется задать не только ключ API, но и цифровую подпись, чтобы можно было превышать квоту в 25 000 загрузок карты в день.

    Примечание. Общие секреты для подписания должны иметь не меньший уровень защиты, чем ключи API, использующиеся с Maps Web Service API.

    Когда вам требуется динамически подписывать запросы изображений, делайте это на стороне сервера. А если ваши приложения генерируют статические изображения на основе клиентских данных, используйте следующие меры безопасности:

    Если вы подписываете запросы, настройте дневную квоту неподписанных запросов.

    4 Ограничение по IP-адресам не всегда полезно. Например, его не стоит настраивать для мобильных приложений и облачных сред, работающих на основе динамических IP-адресов. В этих случаях используйте для приложений с Maps Web Service API следующие меры безопасности:

    5 Для мобильных приложений рекомендуем использовать нативные пакеты Places SDK for Android и Places SDK for iOS.

    Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

  • Оцените статью