Uygulamamda Facebook
oturumunu entegre ediyorum. Okuma izinlerini ancak Facebook SDK'sından yayınlama izinlerini nasıl alabiliyorum. kullanıcı Ben access_token
elde edebilmek olduğum izni varsaFacebook'dan okuma izni aldıktan sonra publish_action iznini alın
@Override
public void onClick(View v) {
Session currentSession = Session.getActiveSession();
if (currentSession == null
|| currentSession.getState().isClosed()) {
Session session = new Session.Builder(context).build();
Session.setActiveSession(session);
currentSession = session;
}
if (currentSession.isOpened()) {
// Do whatever u want. User has logged in
} else if (!currentSession.isOpened()) {
// Ask for username and password
OpenRequest op = new Session.OpenRequest((Activity) context);
op.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
op.setCallback(null);
List<String> permissions = new ArrayList<String>();
permissions.add("user_likes");
permissions.add("email");
permissions.add("user_birthday");
permissions.add("user_location");
permissions.add("user_interests");
permissions.add("friends_birthday");
op.setPermissions(permissions);
Session session = new Builder(MainActivity.this).build();
Session.setActiveSession(session);
session.openForRead(op);
}
}
});
ve onActivityResult
benim şeyler yapıyor: Ben okuma izinlerini soruyorum nasıl
budur. İşte ben bu konuda yapıyorum ne: Burada Permissions - Facebook Developers açıklandığı üzere
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (Session.getActiveSession() != null)
Session.getActiveSession().onActivityResult(this, requestCode,
resultCode, data);
Session currentSession = Session.getActiveSession();
if (currentSession == null || currentSession.getState().isClosed()) {
Session session = new Session.Builder(context).build();
Session.setActiveSession(session);
currentSession = session;
}
if (currentSession.isOpened()) {
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(final Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
Request.executeMeRequestAsync(session,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user,
Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
TextView access_token_txt = (TextView) findViewById(R.id.access_token);
TextView email_txt = (TextView) findViewById(R.id.email);
access_token = session.getAccessToken();
firstName = user.getFirstName();
fb_user_id = user.getId();
access_token_txt.setText(access_token);
JSONObject graphResponse = response
.getGraphObject().getInnerJSONObject();
fbEmail = null;
try {
fbEmail = graphResponse.getString("email");
} catch (JSONException e) {
e.printStackTrace();
}
email_txt.setText(fbEmail);
}
}
});
}
}
});
}
}
Ben okuma izinlerine sahip izinleri yayımlamak sorun olamaz ki Facebook Developer
doc okudum.
İlk kullanıcı okumak isteyip istemediğini ve kullanıcı otomatik olarak yayınladıktan sonra yayınlama izinlerini isteyebilir.
Facebook'ta yayınlama izinlerini, kullanıcı tarafından izin verilen okuma izni olarak nasıl girebilirim?
Her türlü yardım memnuniyetle karşılanacaktır.
Giriş Facebook'a takılıyorum. Yerel uygulama mevcut olduğunda giriş yapabilir, ancak yerel uygulama mevcut değilse uygulamayı oturum açamaz ve yetkilendiremez. İşte benim sorum bu konuda cevap verebilir misiniz. [http://stackoverflow.com/questions/21336314/facebook-after-login-not-coming-back-but-asking-login-again] –
Sorunuza yorum yaptım ve işe yararsa cevap ver. – Anupam