Here is the Screenshot Facebookの認証情報を使用してアプリケーションにログインすると、ブラウザで正しく機能しません。しかし、Facebook Appからログインするとエラーになります。それは自動的に私のアプリケーションにリダイレクトされず、Facebookに残っている "あなたが要求したページはすぐに表示することはできません。一時的に利用できないかもしれません....."。前もって感謝します。ここ は私LoginActivityです:モジュールでfacebookを使用してアプリケーションにログイン:Facebook Appを使用するとエラーが発生する
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_log);
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions("email");
mail = (EditText) findViewById(R.id.log_mail);
pass = (EditText) findViewById(R.id.log_pass);
callbackManager = CallbackManager.Factory.create();
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(
AccessToken oldAccessToken,
AccessToken currentAccessToken) {
// Set the access token using
// currentAccessToken when it's loaded or set.
}
};
// If the access token is available already assign it.
accessToken = AccessToken.getCurrentAccessToken();
AppEventsLogger.activateApp(this);
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Toast.makeText(getApplicationContext(), "Logged in with fb", Toast.LENGTH_SHORT).show();
System.out.println("onSuccess");
String accessToken = loginResult.getAccessToken().getToken();
Log.i("", accessToken);
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.i("LoginActivity", response.toString());
// Get facebook data from login
Bundle bFacebookData = getFacebookData(object);
mail_id= bFacebookData.getString("email");
prof_pic= bFacebookData.getString("profile_pic");
f_name=bFacebookData.getString("first_name");
l_name=bFacebookData.getString("last_name");
bFacebookData.putString("img",prof_pic);
bFacebookData.putString("mail_id",mail_id);
bFacebookData.putString("fname",f_name);
bFacebookData.putString("lname",l_name);
Intent i = new Intent(LogActivity.this, HomeActivity.class);
//
i.putExtras(bFacebookData);
startActivity(i);
//
Toast.makeText(getApplicationContext(),mail_id,Toast.LENGTH_LONG).show();
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id, first_name, last_name, email,gender, birthday, location"); // Parámetros que pedimos a facebook
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
Toast.makeText(getApplicationContext(), "Log in Cancelled..!!", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException error) {
Toast.makeText(getApplicationContext(), "Error in log in,error is : " + error, Toast.LENGTH_SHORT).show();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onDestroy() {
super.onDestroy();
accessTokenTracker.stopTracking();
}
private Bundle getFacebookData(JSONObject object) {
try {
Bundle bundle = new Bundle();
String id = object.getString("id");
try {
URL profile_pic = new URL("https://graph.facebook.com/" + id + "/picture?width=200&height=150");
Log.i("profile_pic", profile_pic + "");
bundle.putString("profile_pic", profile_pic.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
}
bundle.putString("idFacebook", id);
if (object.has("first_name"))
bundle.putString("first_name", object.getString("first_name"));
if (object.has("last_name"))
bundle.putString("last_name", object.getString("last_name"));
if (object.has("email"))
bundle.putString("email", object.getString("email"));
if (object.has("gender"))
bundle.putString("gender", object.getString("gender"));
if (object.has("birthday"))
bundle.putString("birthday", object.getString("birthday"));
if (object.has("location"))
bundle.putString("location", object.getJSONObject("location").getString("name"));
return bundle;
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
理由を確認できるようにコードを入力してください。 –
@ArjunKasi投稿コードやエラーを投稿してください。ログインに関する詳細については、fbを参照してください。http://coderzpassion.com/android-using-facebook-login-application-using-latest-facebook-sdk/ –
リダイレクトdev.facebookのアプリ設定ページのURL。 –