Flickr API: Как (успешно) получить push-уведомление для новых фотографий (приватных) с определенными тегами?
Я использую эту библиотеку php для flickr. Я добавил следующую функцию flickr push_subscription:
function push_subscribe ($topic = NULL, $callback = NULL, $verify = NULL, $verify_token = NULL, $lease_seconds = NULL, $tags = NULL) {
return $this->call('flickr.push.subscribe', array('topic' => $topic, 'callback' => $callback, 'verify' => $verify, 'verify_token' => $verify_token, 'lease_seconds' => $lease_seconds, 'tags' => $tags));
}
После этого подписались на push-уведомления с темой, заданной как "теги":
$res = $f->push_subscribe("tags", "http://mysite.herokuapp.com/flickr/push-notification.php", "async", NULL, NULL, "personal");
После подписки с getsubscription я получил ответ:
[0] => Array ([topic] => tags [callback] => mysite.herokuapp.com/flickr/push-notification.php [pending] => 1 [date_create] => 1435469765 [expiry] => 0 [ verify_attempts] => 1)
[stat] => хорошо
Мой URL обратного вызова - это скрипт php на моем сайте:
<?php
if (isset($_GET['hub_challenge'])) {
print $_GET['hub_challenge'];
}
else {
$xml=file_get_contents("php://input");
file_put_contents('endpoint.txt',$xml);
}
Однако я не получаю ничего после того, как я загружаю новую фотографию с определенным тегом? endpoint.txt
файл пуст. Почему?
Что мне не хватает?
1 ответ
Согласно этому блогу Flickr, Flickr Push API в настоящее время поддерживает только изображения с публичной видимостью:
Возможно, что в будущем мы сможем ослабить некоторые из этих ограничений, но на данный момент канал PuSH - это, по сути, то, что может получить зарегистрированный пользователь, просто взяв каналы RSS из фотопотоков разных людей.
Кроме того, API может использоваться только профессиональными пользователями аккаунта.
Теперь пост в блоге за 2011 год, поэтому я предполагаю, что все по-другому, но текст в документах Flickr Push API указывает, что он все еще экспериментальный... Обратите внимание, что я не тестировал Flickr Push API.