private void postToWall()
{
AsyncFacebookRunner mAsyncFbRunner = new AsyncFacebookRunner(mFacebook);
Bundle params = new Bundle();
params.putString("message", "sdsddsdsd");
params.putString("name", "Dexter");
params.putString("caption", "londatiga.net");
params.putString("link", "http://www.londatiga.net");
params.putString("description", "Dexter, seven years old dachshund who loves to catch cats, eat carrot and krupuk");
params.putString("picture", "http://twitpic.com/show/thumb/6hqd44");
mAsyncFbRunner.request("me/feed", params,"POST",new WallPostListener(),new Object());
}
private final class WallPostListener implements AsyncFacebookRunner.RequestListener {
@Override
public void onComplete(String response, Object state) {
// TODO Auto-generated method stub
Log.d("phanbom", "Test response ne:"+response);
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
}
Đây là code khởi động việc login:
mFacebook.authorize(this, PERMISSIONS, -1, new FbLoginDialogListener());
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
mFacebook.authorizeCallback(requestCode, resultCode, data);
}
private final class FbLoginDialogListener implements DialogListener {
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
Log.d("phanbom", "facebook ne");
SessionStore.save(mFacebook, TestConnect.this);
mFacebookBtn.setText(" Facebook (No Name)");
mFacebookBtn.setChecked(true);
mFacebookBtn.setTextColor(Color.WHITE);
getFbName();
}
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
Toast.makeText(TestConnect.this, "Facebook connection failed", Toast.LENGTH_SHORT).show();
mFacebookBtn.setChecked(false);
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
Toast.makeText(TestConnect.this, "Facebook connection failed", Toast.LENGTH_SHORT).show();
mFacebookBtn.setChecked(false);
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
mFacebookBtn.setChecked(false);
}
}
Đây là code post status nhờ vào token đã đăng nhập từ trước , sử dụng cách của phiên bản facebook sdk 3.0 trở lên:
SharedPreferences savedSession = getApplicationContext().getSharedPreferences(SessionStore.KEY, Context.MODE_PRIVATE);
Date date=null;
try {
date = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(savedSession.getString(SessionStore.EXPIRES,"0"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
token = AccessToken.createFromExistingAccessToken(savedSession.getString(SessionStore.TOKEN, null),date, null, AccessTokenSource.TEST_USER, null);
public void postNew()
{
Session.openActiveSessionWithAccessToken(this,token,new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state,
Exception exception) {
// TODO Auto-generated method stub
// callback when session changes state
if (session.isOpened()) {
// make request to the /me API
Request.newMeRequest(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Log.d("phanbom","tiep theo ne:"+user.getName()+"|"+user.getUsername());
}
}
}).executeAsync();
GraphPlace place;
Request request = Request
.newStatusUpdateRequest(Session.getActiveSession(), "daydaydayday",new Request.Callback() {
@Override
public void onCompleted(Response response) {
Log.d("phanbom","respone ::::"+response.toString());
//showPublishResult(message, response.getGraphObject(), response.getError());
}
});
request.executeAsync();
}
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
Không có nhận xét nào:
Đăng nhận xét