안녕하세요!
제목처럼 FaceBook연동 질문 드릴려 합니다.
http://developers.facebook.com 에서 샘플을 받아서 실행까지 해봤습니다.
로그인 버턴을 클릭하면 팝업처럼 다이얼로그가 뜬상태에서 계정을넣고 로그인을 시도합니다.
여기까지는 완벽합니다. 근데 문제가
고객의 요구사항은 로그인 후 허가요청 화면을 요구하내요!
현재상태는 로그이하면 요청보내기 화면으로 넘어옵니다.
샘플소스에서 어떤걸수정을 해야 되는지 doc을 봐도 영어가 딸려서 알수가 없내요 ^^;
샘플소스중에
Utility.mFacebook = new Facebook(APP_ID);
//Instantiate the asynrunner object for asynchronous api calls.
Utility.mAsyncRunner = new AsyncFacebookRunner(Utility.mFacebook);
//restore session if one exists
SharedApplication.sharedInstance().restore(Utility.mFacebook, this);
SessionEvents.addAuthListener(new FbAPIsAuthListener());
SessionEvents.addLogoutListener(new FbAPIsLogoutListener());
Bundle params = new Bundle();
// params.putString("message", getString(R.string.request_message));
params.putString("message", "read_stream ");
// params.putString("method", "auth.expireSession");
Utility.mFacebook.dialog(SampleActivity.this, "apprequests", params, new AppRequestsListener()); <-- 이놈이 수상헙니다. 근데 어떻게 수정을 해줘야 하는지 모르겠습니다.
그리고 dialog 메소드는
public void dialog(Context context, String action, Bundle parameters,
final DialogListener listener) {
String endpoint = DIALOG_BASE_URL + action;
parameters.putString("display", "touch");
parameters.putString("redirect_uri", REDIRECT_URI);
if (action.equals(LOGIN)) {
parameters.putString("type", "user_agent");
parameters.putString("client_id", mAppId);
} else {
parameters.putString("app_id", mAppId);
}
if (isSessionValid()) {
parameters.putString(TOKEN, getAccessToken());
}
String url = endpoint + "?" + Util.encodeUrl("parameters);
if (context.checkCallingOrSelfPermission(Manifest.permission.INTERNET)
!= PackageManager.PERMISSION_GRANTED) {
Util.showAlert(context, "Error",
"Application requires permission to access the Internet");
} else {
new FbDialog(context, url, listener).show();
}
}
샘플 소스있는 그대로 적용을 했습니다.
제대로 질문이 되었는지 모르겠내요!
SSO까지도 해야 하는데 답답하군여




질문은 질문 게시판으로.. ^^