-
Notifications
You must be signed in to change notification settings - Fork 107
/
Readme
96 lines (63 loc) · 2.55 KB
/
Readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
The first version of a Facebook Open Graph Library for Ruby. Require HTTParty to function.
For documentation on the Open Graph Library, see: http://developers.facebook.com/docs/api
======================================
Quick Start:
======================================
Add config.gem "mogli" to environment.rb
For Rails: create a controller like the following:
class OauthController < ApplicationController
def new
session[:at]=nil
redirect_to authenticator.authorize_url(:scope => 'publish_stream', :display => 'page')
end
def create
mogli_client = Mogli::Client.create_from_code_and_authenticator(params[:code],authenticator)
session[:at]=mogli_client.access_token
redirect_to "/"
end
def index
redirect_to new_oauth_path and return unless session[:at]
user = Mogli::User.find("me",Mogli::Client.new(session[:at]))
@user = user
@posts = user.posts
end
def authenticator
@authenticator ||= Mogli::Authenticator.new('client_id',
'secret',
oauth_callback_url)
end
end
with routes:
map.resource :oauth, :controller=>"oauth"
map.root :controller=>"oauth"
map.oauth_callback "/oauth/create", :controller=>"oauth", :action=>"create"
Viewing / should redirect you to the login page, and then redirect back to your app to show your recent posts
From the console, you can create a client with the stored access token:
require "rubygems"
require "mogli"
client = Mogli::Client.new("your_access_token")
You can now fetch users with the client, for example:
myself = Mogli::User.find("me",client)
or
mikemangino = Mogli::User.find(12451752,client)
When you fetch yourself, you can look at your posts and other information:
myself.posts
You can also fetch other objects by ID, for example:
album = Mogli::Album.find(99394368305)
album.photos
If the object requires a client, just pass one in:
album = Mogli::Album.find(99394368305,client)
album.photos
You can also upload photos using httmultiparty:
facebook_access_token = "..."
client = Mogli::Client.new(facebook_access_token)
client.post("me/photos", nil, {:source => File.open("myphoto.jpg")})
========================================
Contributing
========================================
1) fork the repo
2) Add tests for a missing method, such as client.post(post_id)
3) implement missing method
4) send me a pull request.
Feel free to add missing associations if you see them as well. My goal is to get a readonly API in place first, and then move on to the read/write API
Mike