55import android .os .Bundle ;
66import android .util .Log ;
77
8+ import com .facebook .AccessToken ;
89import com .facebook .CallbackManager ;
910import com .facebook .FacebookCallback ;
1011import com .facebook .FacebookException ;
12+ import com .facebook .GraphRequest ;
13+ import com .facebook .GraphResponse ;
14+ import com .facebook .HttpMethod ;
1115import com .facebook .login .LoginResult ;
1216import com .facebook .login .widget .LoginButton ;
1317
18+ import org .json .JSONObject ;
19+
1420import java .util .Arrays ;
21+ import java .util .Set ;
1522
1623public class MainActivity extends AppCompatActivity {
1724 private static final String TAG = MainActivity .class .getName ();
@@ -23,14 +30,37 @@ protected void onCreate(Bundle savedInstanceState) {
2330 setContentView (R .layout .activity_main );
2431
2532 LoginButton loginButton = findViewById (R .id .login_button );
26- loginButton .setReadPermissions (Arrays .asList ("email " ));
33+ loginButton .setReadPermissions (Arrays .asList ("user_photos " ));
2734
2835 // Callback registration
2936 callbackManager = CallbackManager .Factory .create ();
3037 loginButton .registerCallback (callbackManager , new FacebookCallback <LoginResult >() {
3138 @ Override
3239 public void onSuccess (LoginResult loginResult ) {
3340 Log .d (TAG , "Facebook login token: " + loginResult .getAccessToken ().getToken ());
41+
42+ // Check permissions
43+ Boolean granted = false ;
44+ Set <String > permissions = AccessToken .getCurrentAccessToken ().getPermissions ();
45+ for (String permission : permissions ) {
46+ if (permission .equals ("user_photos" )) {
47+ granted = true ;
48+ }
49+ }
50+
51+ if (granted ) {
52+ GraphRequest .Callback callback = new GraphRequest .Callback () {
53+
54+ @ Override
55+ public void onCompleted (GraphResponse response ) {
56+ JSONObject json = response .getJSONObject ();
57+ Log .d (TAG , "Photos: " + json .toString ());
58+ }
59+ };
60+
61+ GraphRequest request = new GraphRequest (AccessToken .getCurrentAccessToken (), "me/photos?fields=picture,reactions.limit(1).summary(true),link,images,created_time&type=uploaded&limit=500" , null , HttpMethod .GET , callback );
62+ request .executeAsync ();
63+ }
3464 }
3565
3666 @ Override
0 commit comments