Skip to content

Instantly share code, notes, and snippets.

@freeatnet
Created November 20, 2011 06:20
Show Gist options
  • Save freeatnet/1379879 to your computer and use it in GitHub Desktop.
Save freeatnet/1379879 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'oauth'
require 'yaml'
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
def get_access_token
p "get_access_token: Initializing Consumer"
consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, {
:site => "https://api.500px.com",
:request_token_path => "/v1/oauth/request_token",
:access_token_path => "/v1/oauth/access_token",
:authorize_path => "/v1/oauth/authorize"})
consumer.http.set_debug_output($stderr)
request_token = consumer.get_request_token({})
access_token = consumer.get_access_token(request_token, {}, { :x_auth_mode => 'client_auth', :x_auth_username => 'freeatnet', :x_auth_password => 'ivanov_pxx' })
[access_token.token, access_token.secret]
end
def access_api(token, secret)
consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, {
:site => "https://api.500px.com",
:access_token_path => "/v1/oauth/access_token",
:authorize_path => "/v1/oauth/authorize"})
consumer.http.set_debug_output($stderr)
access_token = OAuth::AccessToken.new(consumer, token, secret)
#access_token.set_debug_output($stderr)
r = access_token.request(:post, 'https://api.500px.com/v1/photos/1000000/favorite', {})
p r.code, r.message, r.body
r = access_token.request(:get, 'https://api.500px.com/v1/photos/1000000', {})
p r.code, r.message, r.body
r = access_token.request(:post, 'https://api.500px.com/v1/photos/1000000/favorite?_method=delete')
p r.code, r.message, r.body
return
r = access_token.request(:get, 'https://api.500px.com/v1/users/2/followers', {})
p r.code, r.message, r.body
return
["popular", "upcoming", "editors", "fresh_today"].each do |f|
r = access_token.request(:get, "https://api.500px.com/v1/photos?feature=#{f}&include_states=1", {"feature" => f, "include_states" => "1"})
p r.code, r.message, r.body
end
r = access_token.request(:get, 'https://api.500px.com/v1/users/show?id=4354', {})
p r.code, r.message, r.body
return
r = access_token.request(:post, 'https://api.500px.com/v1/users/1/friends', {})
p r.code, r.message, r.body
return
["popular", "upcoming", "editors", "fresh_today"].each do |f|
r = access_token.request(:get, 'https://api.500px.com/v1/photos', {"feature" => f})
p r.code, r.message, r.body
end
return
r = access_token.request(:get, 'https://api.500px.com/v1/photos/2000000', {})
p r.code, r.message, r.body
return
r = access_token.request(:get, 'https://api.500px.com/v1/users', {})
p r.code, r.message, r.body
r = access_token.request(:get, 'https://api.500px.com/v1/photos/1721803/comments', {})
p r.code, r.message, r.body
return
r = access_token.request(:get, 'https://api.500px.com/v1/photos/1000000', {})
p r.code, r.message, r.body
r = access_token.request(:post, 'https://api.500px.com/v1/photos/1000000/favorite', {})
p r.code, r.message, r.body
r = access_token.request(:get, 'https://api.500px.com/v1/photos/1000000', {})
p r.code, r.message, r.body
r = access_token.request(:delete, 'https://api.500px.com/v1/photos/1000000/favorite')
p r.code, r.message, r.body
end
token, secret = get_access_token
p "token: #{token}"
p "secret: #{secret}"
response = access_api(token, secret)
p response
#response = access_api(token, secret)
#p response
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment