Скачать мои личные альбомы, используя Flickr API - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь загрузить свои собственные альбомы flickr с помощью API. Я использую камень flickr.rb здесь Я создаю новый объект, используя это:

@flickr = Flickr.new({api_key: 'xxxxx', shared_secret: 'xxxxx', verify_ssl: false})

А потом я использую:

p = @flickr.photoset(photoset_id)

Где я передаю идентификатор своего фотосета, который я хочу скачать. Я получаю сообщение об ошибке:

/.rvm/gems/ruby-2.2.5/gems/flickr.rb-1.2.1/lib/flickr.rb:199:in `request': Photoset not found (RuntimeError)

Как правильно авторизоваться на Flickr и загрузить мои фотографии? Я не хочу создавать пользовательский интерфейс, просто хочу, чтобы приложение командной строки делало это. Есть ли какой-то URL, который мне нужно нажать в браузере, чтобы авторизовать приложение и предоставить разрешения? Документация очень скудная и не дает никаких примеров.

Обновление: в ответ на @ r-f-nelson

Пользователь 'как получено:

#Flickr::User:0x007fd8cea6ad98 @id="29916617@N02", @username="taraporefarhad", @client=#<Flickr:0x007fd8cf09fc68 @host="https://api.flickr.com", @api="/services/rest", @verify_ssl=false, @api_key="36705xxxxxxxxxxxxxxx", @shared_secret="xxxxxxxxxxxxxx", @auth_token=nil, @ca_file=nil

Клиентский объект 'flickr':

#Flickr:0x007fd8cf09fc68 @host="https://api.flickr.com", @api="/services/rest", @verify_ssl=false, @api_key="36705xxxxxxxxxxxxxxx", @shared_secret="xxxxxxxxxxxxxx", @auth_token=nil, @ca_file=nil, @user=#

Flickr::User:0x007fd8cea6ad98 @id="29916617@N02", @username="taraporefarhad", @client=#<Flickr:0x007fd8cf09fc68 ...

Объект Photoset:

#Flickr::Photoset:0x007fd8cf06c9d0 @id="72157638843727066", @api_key=nil, @client=#<Flickr:0x007fd8cf06c8b8 @host="https://api.flickr.com", @api="/services/rest", @verify_ssl=true, @api_key=nil, @shared_secret=nil, @auth_token=nil, @ca_file=nil
/.rvm/gems/ruby-2.2.5/gems/flickr.rb-1.2.1/lib/flickr.rb:199:in `request': Invalid API Key (Key has invalid format) (RuntimeError)

Обратите внимание, что у объекта "photoset" другой идентификатор объекта клиента flickr, НЕТ общего секретного ключа и ключа API! Не знаю, как это происходит, поскольку я использую одни и те же объекты клиента и пользователя, чтобы получить фотосет.

1 Ответ

0 голосов
/ 30 апреля 2018

Если вы успешно подключаетесь к API Flickr, вы можете просматривать свои собственные фотосеты следующим образом:

user = flickr.users('you@yourflickraccount.com') photosets = user.photosets

Оттуда вы можете перебирать свои фотосеты, чтобы найти правильный. Я предполагаю, что любой идентификатор, который вы используете, не является photoset_id, который использует API Flickr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...