Я пытаюсь сделать следующий рабочий процесс:
- Сделай фото с айфона
- Приложение Google Photos автоматически загружает фотографию на мой диск Google.
- Запустите PHP-скрипт, который зациклит все файлы и распечатает метаданные геолокации.
Вот что я сделал до сих пор:
- Установите приложение и перейдите в настройки -> Резервное копирование и синхронизация. Включите резервное копирование и синхронизацию и выберите свою учетную запись Google.
- Сделайте снимок, зайдите в приложение Google Photos и проверьте наличие новой фотографии. Нажмите на фото, чтобы развернуть его на весь экран. Нажмите (i) для получения информации и проверьте наличие широты и долготы.
- Перейдите на страницу https://developers.google.com/drive/v3/web/quickstart/php и следуйте инструкциям. Замените нижние 8 строк следующим кодом:
if (count($results->getFiles()) == 0) {
print "No files found.\n";
}
else {
print "Files:\n";
foreach ($results->getFiles() as $file) {
print_r('-------------------------------');
printf("%s (%s)\n", $file->getName(), $file->getId());
$metadata = $file->getImageMediaMetadata();
if($metadata) {
print_r($metadata);
$location = $metadata->getLocation();
print_r("longitude: " . $location->getLongitude() . "\n");
print_r("latitude: " . $location->getLatitude() . "\n");
}
else {
print_r("no metadata\n");
}
}
}
Я никогда не получаю никаких метаданных для фотографий, хотя я вижу их в своем приложении Google Photos и на Google Диске в браузере.
Затем я попытался перейти на https://developers.google.com/drive/v3/reference/files/get и используйте идентификатор файла из одной из фотографий, которая была напечатана из приведенного выше кода, который, как я знал, имел метаданные. Я получил ответ 200 и следующие данные:
{
"kind": "drive#file",
"id": "1Ngr32mjIDSg2i-UFq2jdi3syj6MkD7ZNEQ",
"name": "IMG_0481.JPG",
"mimeType": "image/jpeg"
}
Опять же без метаданных геолокации.
Может ли кто-нибудь указать мне в правильном направлении?