Ваш пример кода - беспорядок:
Вы определяете метод login_insta
для настройки учетных данных, но никогда не вызываете метод для запуска конфигурации.
Если вы действительно позвоните login_insta
, он все равно не будет работать должным образом из-за вызова client.new
, который не объяснен в вашем примере кода и противоречит инструкциям от автора гема о том, как настроить учетные данные.
Это тот случай, когда сокращение вашего кода до минимального, полного, проверяемого примера , вероятно, решит проблему:
require 'instagram_api_client'
require 'dotenv'
Dotenv.load
# Set the global configuration for the gem per the instructions at:
# https://github.com/agilie/instagram_api_gem#usage
InstagramApi.config do |config|
config.access_token = ENV["INSTA_ACCESS_TOKEN"]
config.client_id = ENV["INSTA_CLIENT_ID"]
config.client_secret = ENV["INSTA_CLIENT_SECRET"]
end
InstagramApi.user.search('75')
Я не могу самостоятельно проверить, что это решает проблему, потому что у меня нет доступа к API Instagram, но, учитывая инструкции в README для драгоценного камня, это должно быть решением.
Когда вы собираетесь включить это решение в свой код, просто убедитесь, что вызов InstagramApi.config
выполняется только один раз и перед выполнением каких-либо вызовов API. Его не нужно заключать в вызов метода. (и не следует, потому что его нужно запускать только один раз, а после запуска он останется в силе в течение всего жизненного цикла процесса Ruby)