Jid*_*dey 7 sdk android facebook
如何通过Facebook Android SDK 4.0获取Facebook用户ID?
这是我的代码不起作用:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_firstlogin);
CallbackManager cm;
LoginButton lb;
cm = CallbackManager.Factory.create();
lb = (LoginButton) findViewById(R.id.facebook_button);
Log.d(TAG, "Salut les zouzous");
LoginManager.getInstance().registerCallback(cm,
new FacebookCallback<LoginResult>()
{
@Override
public void onSuccess(LoginResult loginResult)
{
Log.d(TAG, "Success !");
AccessToken tok;
tok = AccessToken.getCurrentAccessToken();
Log.d(TAG, tok.getUserId());
}
@Override
public void onCancel()
{
Log.d(TAG, "On Cancel");
}
@Override
public void onError(FacebookException exception)
{
Log.e(TAG, exception.getMessage());
}
});
Run Code Online (Sandbox Code Playgroud)
我确切地知道了
Log.d(TAG, " Success");
Run Code Online (Sandbox Code Playgroud)
不打印.
在回调之外只有第一个记录打印内容的日志.
对不起英语不好.
Mar*_*ark 28
很简单
Profile.getCurrentProfile().getId()
Run Code Online (Sandbox Code Playgroud)
这假设用户已经登录.
您需要执行以下操作
@Override
public void onSuccess(LoginResult loginResult) {
final AccessToken accessToken = loginResult.getAccessToken();
GraphRequestAsyncTask request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject user, GraphResponse graphResponse) {
Log.d(TAG, user.optString("email"));
Log.d(TAG, user.optString("name"));
Log.d(TAG, user.optString("id"));
}
}).executeAsync();
}
Run Code Online (Sandbox Code Playgroud)
只需loginResult.getAccessToken().getUserId()在onSuccess()中使用
@Override
public void onSuccess(LoginResult loginResult) {
Toast.makeText(Login.this, "User ID : "+loginResult.getAccessToken().getUserId(), Toast.LENGTH_LONG).show();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15578 次 |
| 最近记录: |