"login with facebook"でアンドロイドの簡単なテストアプリケーションを作成しました。Android AppからFacebookのプロフィール画像を取得するには?
これは私のコードです:
public class MainActivity extends AppCompatActivity {
private TextView info;
private LoginButton loginButton;
private CallbackManager callbackManager;
String email;
String birthday;
String name;
String gender;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
info = (TextView)findViewById(R.id.fb_text);
loginButton = (LoginButton)findViewById(R.id.fb_login);
loginButton.setReadPermissions(Arrays.asList("public_profile", "email", "user_birthday"));
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
info.setText(
"User ID: "
+ loginResult.getAccessToken().getUserId()
+ "\n" +
"Auth Token: "
+ loginResult.getAccessToken().getToken()
);
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.v("LoginActivity", response.toString());
// Application code
try {
email = object.getString("email");
birthday = object.getString("birthday"); // 01/31/1980 format
name = object.getString("name");
gender = object.getString("gender");
} catch (JSONException e) {
e.printStackTrace();
}
info.append(
"User Name: " + name
+ "\n" +
"birthday: "
+ birthday
+ "\n" +
"Gender: "
+ gender
+ "\n" +
"Email: "
+ email
);
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender,birthday");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
info.setText("Login Cancelled");
}
@Override
public void onError(FacebookException e) {
info.setText("Login Failed");
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
iは、ユーザーのプロフィール画像を取得し、私の活動にそれを表示するために何をすべき?
使用FacebookのAPI: "https://graph.facebook.com/" +: https://developers.facebook.com/docs/graph-api/reference/user/picture/ – Uata
これを使用しますfbuserのid + "/ picture?type = large" –