107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
# File 'lib/ft_42.rb', line 107
def project_users
user_projects = []
i = 1
loop do
begin
tries ||= 3
if input_3
response = token.get("/v2/projects_users?filter[campus]=#{campus['id']}&filter[project_id]=#{project['id']}&range[created_at]=#{after},#{before}", params: { page: i, per_page: 100 }).parsed
else
response = token.get("/v2/projects_users?filter[campus]=#{campus['id']}&filter[project_id]=#{project['id']}", params: { page: i, per_page: 100 }).parsed
end
rescue
puts "Something went wrong..."
puts "REFRESHING API TOKEN... wait 8 sec"
sleep 8
client = OAuth2::Client.new(ENV.fetch("UID42"), ENV.fetch("SECRET42"), site: ENV.fetch("API42"))
token = client.client_credentials.get_token
puts "Retrying request..."
retry unless (tries -= 1).zero?
else
break if response.empty?
user_projects << response
i += 1
end
end
user_projects
end
|