2015-09-17 1 views
0

У меня есть базовое приложение, которое входит в систему на Facebook, и onSuccess пользователю показана карта с местоположением пользователей GPS.Вывести имя и идентификационные строки из входа в facebook?

Мне нужно загрузить имя пользователя и идентификатор в базу данных, желательно mysql и php.

Я понятия не имею, как это сделать с помощью API Facebook, я не знаю, как это сделать. У меня есть mainActivity;

import android.app.ActionBar; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.TextView; 

import com.facebook.CallbackManager; 
import com.facebook.FacebookCallback; 
import com.facebook.FacebookException; 
import com.facebook.FacebookSdk; 
import com.facebook.login.LoginManager; 
import com.facebook.login.LoginResult; 
import com.facebook.login.widget.LoginButton; 

public class MainActivity extends Activity { 

    private CallbackManager callbackManager; 

    private TextView info; 
    private LoginButton loginButton; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FacebookSdk.sdkInitialize(getApplicationContext()); 
     callbackManager = CallbackManager.Factory.create(); 
     setContentView(R.layout.activity_main); 
     setContentView(R.layout.activity_main); 
     info = (TextView)findViewById(R.id.info); 
     loginButton = (LoginButton)findViewById(R.id.login_button); 

     loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 
       startActivity(new Intent(MainActivity.this, MapActivity.class)); 

      } 

      @Override 
      public void onCancel() { 
       info.setText("Login attempt cancelled."); 
      } 

      @Override 
      public void onError(FacebookException e) { 
       info.setText("Login attempt failed."); 
      } 

     }); 
     View decorView = getWindow().getDecorView(); 
// Hide the status bar. 
     int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; 
     decorView.setSystemUiVisibility(uiOptions); 
// Remember that you should never show the action bar if the 
// status bar is hidden, so hide that too if necessary. 
     ActionBar actionBar = getActionBar(); 
     actionBar.hide(); 

    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     callbackManager.onActivityResult(requestCode, resultCode, data); 
    } 
} 

Часть MySQL достаточно легко, и PHP я думаю, что я могу управлять, но как я GetName строки и так далее от Facebook и разобрать его на PHP?

ответ

2
GraphRequest request = GraphRequest.newMeRequest(
        loginResult.getAccessToken(), (json, response) -> { 
         if (response.getError() == null) { 
          //get the info here. 
          String name = json.getString("name"); 
          String id = json.getString("id"); 
         } 
        }); 
+0

Отлично! Могу ли я просто бросить это в методе OnSuccess? – NicklasN

+0

да, попробуйте :) –

2

Для FB SDK 4.0 вы можете получить эти Params следующим образом:

Profile profile = Profile.getCurrentProfile(); 
Log.d("facebook id",profile.getId()); 
Log.d("facebook name",profile.getFirstName()); 
+0

Cool :) Как мне получить реализацию кода? В методе onSuccess? Я очень новичок в android – NicklasN

+0

да, вам придется писать выше строки в методе onSuccess –

Смежные вопросы