10. API – Login/Logout
private String[] PERMISSIONS = {"read_friendlists", "publish_stream"};
facebook.authorize(this, PERMISSIONS, new DialogListener() {
@Override
public void onComplete(Bundle values) {}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
11. API – Login/Logout
logout(Context context, AsyncFacebookRunner.RequestListener
listener)
AsyncFacebookRunner asyncRunner = new
AsyncFacebookRunner(facebook);
asyncRunner.logout(this, listener);
12. Graph API - Request
request(String graphPath, Bundle parameters,
AsyncFacebookRunner.RequestListener listener)
Bundle params = new Bundle();
params.putString("fields", "name");
AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook);
asyncRunner.request("me/friends", params, new AsyncFacebookRunner.RequestListener() {
@Override
public void onMalformedURLException(MalformedURLException e, Object state) {}
@Override
public void onIOException(IOException e, Object state) {}
@Override
public void onFileNotFoundException(FileNotFoundException e, Object state) {}
@Override
public void onFacebookError(FacebookError e, Object state) {}
@Override
public void onComplete(String response, Object state) {}
});
13. Graph API - Request
request(String graphPath, Bundle parameters,
AsyncFacebookRunner.RequestListener listener)
// get information about the currently logged in user
asyncRunner.request("me", new meRequestListener());
// get the posts made by the "platform" page
asyncRunner.request("platform/posts", new pageRequestListener());
// get the logged-in user's friends
asyncRunner.request("me/friends", new friendsRequestListener());
15. API – Métodos Úteis
isSessionValid()
authorizeCallback(int requestCode, int resultCode, Intent data)
extendAccessToken(Context context, Facebook.ServiceListener
serviceListener)
extendAccessTokenIfNeeded(Context context,
Facebook.ServiceListener serviceListener)
16. Outros Recursos - Graph API
Message (Others Users, Threads)
Album
Event
Facebook Page
Questions
Paginação
Realtime Updates
https://developers.facebook.com/docs/reference/api/
17. FQL – Facebook Query Language
String query = "SELECT name FROM user WHERE uid = me()";
Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", query);
AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook);
asyncRunner.request(params, listener);
Result: [{"name":“Aécio Costa"}]
18. FQL – Facebook Query Language
Multi-Query
"query1":"SELECT uid, rsvp_status FROM event_member
WHERE eid=12345678"
"query2":"SELECT name, url, pic FROM profile
WHERE id IN (SELECT uid FROM #query1)"
http://developers.facebook.com/docs/reference/fql/