为什么在收到错误时 Spotify 响应不允许我过去?
Why won't the Spotify response allow me to go past when an error is received?
我只是想查找用户,如果用户存在,亲爱的,如果不存在,我想说明...
# Install if you haven't already
require 'twilio-ruby'
require 'rspotify'
# Twilio Security Access
account_sid = 'enter_your_sid'
auth_token = 'enter_your_auth_token'
# Spotify User Lookup
def user_lookup(user_search)
spotify_user = RSpotify::User.find(user_search)
end
# Crafted text message using Twilio
def text(account_sid, auth_token, message)
client = Twilio::REST::Client.new account_sid, auth_token
client.messages.create(
from: '+twilio_number', # I guess you can use my number for testing
to: '+personal_number', # Feel free to enter your number to get the messages
body: message
)
end
# Ask who you should lookup on Spotify
puts "Who would you like to look up? "
user_input_1 = gets.chomp
# Make sure the user exists
if user_lookup(user_input_1).id != user_input_1 # Test with "zxz122"
msg = "Could not find that Spotify user!"
text(account_sid, auth_token, msg)
puts "Spotify user details send failure!"
else
user_exist = user_lookup(user_input_1)
user_profile_url = "https://open.spotify.com/user/#{user_input_1}"
msg = "Check out #{user_input_1} on Spotify: #{user_profile_url}"
text(account_sid, auth_token, msg)
puts "Spotify user details have been sent!"
end
我不断收到的回复是...
`return!': 404 Resource Not Found (RestClient::ResourceNotFound)
那么为什么它没有命中我的 if 语句并触发 "Could not find that Spotify user!"??
为什么? RestClient
的创建者将 gem 设计为在资源不存在时引发异常(又名 returns a 404 not found
)。
要解决此问题,只需将方法更改为:
def user_lookup(user_search)
RSpotify::User.find(user_search) rescue false
end
并将您的 if ... else
块更改为:
if user_lookup(user_input_1)
user_profile_url = "https://open.spotify.com/user/#{user_input_1}"
msg = "Check out #{user_input_1} on Spotify: #{user_profile_url}"
text(account_sid, auth_token, msg)
puts "Spotify user details have been sent!"
else
msg = "Could not find that Spotify user!"
text(account_sid, auth_token, msg)
puts "Spotify user details send failure!"
end
我只是想查找用户,如果用户存在,亲爱的,如果不存在,我想说明...
# Install if you haven't already
require 'twilio-ruby'
require 'rspotify'
# Twilio Security Access
account_sid = 'enter_your_sid'
auth_token = 'enter_your_auth_token'
# Spotify User Lookup
def user_lookup(user_search)
spotify_user = RSpotify::User.find(user_search)
end
# Crafted text message using Twilio
def text(account_sid, auth_token, message)
client = Twilio::REST::Client.new account_sid, auth_token
client.messages.create(
from: '+twilio_number', # I guess you can use my number for testing
to: '+personal_number', # Feel free to enter your number to get the messages
body: message
)
end
# Ask who you should lookup on Spotify
puts "Who would you like to look up? "
user_input_1 = gets.chomp
# Make sure the user exists
if user_lookup(user_input_1).id != user_input_1 # Test with "zxz122"
msg = "Could not find that Spotify user!"
text(account_sid, auth_token, msg)
puts "Spotify user details send failure!"
else
user_exist = user_lookup(user_input_1)
user_profile_url = "https://open.spotify.com/user/#{user_input_1}"
msg = "Check out #{user_input_1} on Spotify: #{user_profile_url}"
text(account_sid, auth_token, msg)
puts "Spotify user details have been sent!"
end
我不断收到的回复是...
`return!': 404 Resource Not Found (RestClient::ResourceNotFound)
那么为什么它没有命中我的 if 语句并触发 "Could not find that Spotify user!"??
为什么? RestClient
的创建者将 gem 设计为在资源不存在时引发异常(又名 returns a 404 not found
)。
要解决此问题,只需将方法更改为:
def user_lookup(user_search)
RSpotify::User.find(user_search) rescue false
end
并将您的 if ... else
块更改为:
if user_lookup(user_input_1)
user_profile_url = "https://open.spotify.com/user/#{user_input_1}"
msg = "Check out #{user_input_1} on Spotify: #{user_profile_url}"
text(account_sid, auth_token, msg)
puts "Spotify user details have been sent!"
else
msg = "Could not find that Spotify user!"
text(account_sid, auth_token, msg)
puts "Spotify user details send failure!"
end