private Request createRequest(String userID, Set<String> extraFields, Session session) { Request request = Request.newGraphPathRequest(session, userID + "/friends", null); Set<String> fields = new HashSet<String>(extraFields); String[] requiredFields = new String[]{ ID, NAME }; fields.addAll(Arrays.asList(requiredFields)); String pictureField = adapter.getPictureFieldSpecifier(); if (pictureField != null) { fields.add(pictureField); } Bundle parameters = request.getParameters(); parameters.putString("fields", TextUtils.join(",", fields)); request.setParameters(parameters); return request; }
public static Promise<List<GraphUser>, BError, Void> getUserFriendList(){ final Deferred<List<GraphUser>, BError, Void> deferred = new DeferredObject<>(); if (!Session.getActiveSession().getState().isOpened()) { return deferred.reject(new BError(BError.Code.SESSION_CLOSED)); } Request req = Request.newMyFriendsRequest(Session.getActiveSession(), new Request.GraphUserListCallback() { @Override public void onCompleted(List<GraphUser> users, Response response) { deferred.resolve(users); } }); req.executeAsync(); return deferred.promise(); }
public void requestUserData( Session session ) { // Request user data and show the results Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { User currentUser = new User(); currentUser.setUserId(user.getId()); currentUser.setUserName(user.getUsername()); currentUser.setFirstName(user.getFirstName()); currentUser.setLastName(user.getLastName()); currentUser.setDisplayName(user.getName()); currentUser.setMail((String) user.getProperty("email")); currentUser.setProviderDisplayName("Facebook"); currentUser.setProvider(PROVIDER_NAME); FbLoginDelegate.this.mUserHelper.setCurrentUser(currentUser); if ( mUserSessionCallback != null) { mUserSessionCallback.onLogin(); } } } }).executeAsync(); }
public static FetchedAppSettings queryAppSettings(final String applicationId, final boolean forceRequery) { // Cache the last app checked results. if (!forceRequery && fetchedAppSettings.containsKey(applicationId)) { return fetchedAppSettings.get(applicationId); } Bundle appSettingsParams = new Bundle(); appSettingsParams.putString(APPLICATION_FIELDS, TextUtils.join(",", APP_SETTING_FIELDS)); Request request = Request.newGraphPathRequest(null, applicationId, null); request.setParameters(appSettingsParams); GraphObject supportResponse = request.executeAndWait().getGraphObject(); FetchedAppSettings result = new FetchedAppSettings( safeGetBooleanFromResponse(supportResponse, SUPPORTS_ATTRIBUTION), safeGetBooleanFromResponse(supportResponse, SUPPORTS_IMPLICIT_SDK_LOGGING)); fetchedAppSettings.put(applicationId, result); return result; }
private void fetchUserInfo() { final Session currentSession = getSession(); if (currentSession != null && currentSession.isOpened()) { if (currentSession != userInfoSession) { Request request = Request.newMeRequest(currentSession, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser me, Response response) { if (currentSession == getSession()) { user = me; updateUI(); } if (response.getError() != null) { loginButton.handleError(response.getError().getException()); } } }); Bundle parameters = new Bundle(); parameters.putString(FIELDS, REQUEST_FIELDS); request.setParameters(parameters); Request.executeBatchAsync(request); userInfoSession = currentSession; } } else { user = null; } }
public void followNextLink() { if (nextRequest != null) { appendResults = true; currentRequest = nextRequest; currentRequest.setCallback(new Request.Callback() { @Override public void onCompleted(Response response) { requestCompleted(response); } }); loading = true; CacheableRequestBatch batch = putRequestIntoBatch(currentRequest, skipRoundtripIfCached); Request.executeBatchAsync(batch); } }
private void requestCompleted(Response response) { Request request = response.getRequest(); if (request != currentRequest) { return; } loading = false; currentRequest = null; FacebookRequestError requestError = response.getError(); FacebookException exception = (requestError == null) ? null : requestError.getException(); if (response.getGraphObject() == null && exception == null) { exception = new FacebookException("GraphObjectPagingLoader received neither a result nor an error."); } if (exception != null) { nextRequest = null; if (onErrorListener != null) { onErrorListener.onError(exception, this); } } else { addResults(response); } }
private Request createRequest(String userID, Set<String> extraFields, Session session) { Request request = Request.newGraphPathRequest(session, userID + friendPickerType.getRequestPath(), null); Set<String> fields = new HashSet<String>(extraFields); String[] requiredFields = new String[]{ ID, NAME }; fields.addAll(Arrays.asList(requiredFields)); String pictureField = adapter.getPictureFieldSpecifier(); if (pictureField != null) { fields.add(pictureField); } Bundle parameters = request.getParameters(); parameters.putString("fields", TextUtils.join(",", fields)); request.setParameters(parameters); return request; }
public void postStatus(View view){ EditText editText = (EditText) findViewById(R.id.editText); final String statusText = editText.getText().toString(); Session session = Session.getActiveSession(); if (session != null) { if (session.isOpened() && hasPublishPermission()) { Request request = Request .newStatusUpdateRequest(Session.getActiveSession(), statusText, null, null, new Request.Callback() { @Override public void onCompleted(Response response) { showPublishResult(statusText, response.getGraphObject(), response.getError()); } }); request.executeAsync(); return; } else { Toast.makeText(this, getString(R.string.err_notConnected), Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(this, getString(R.string.err_notConnected), Toast.LENGTH_SHORT).show(); } }
/** * Changes the UI when an interaction with the Session object occurs with the user. * @param session The current active Session. * @param sessionState The current state of the active Session. * @param e An Exception if there is one. */ private void onSessionStateChange(Session session, SessionState sessionState, Exception e) { if (sessionState == SessionState.OPENED) { Log.d(TAG, "Successful login!"); new Request(session, "/me", null, HttpMethod.GET, new Request.Callback() { @Override public void onCompleted(Response response) { JSONObject obj = response.getGraphObject().getInnerJSONObject(); Log.d(TAG, "Got back " + obj + " from Facebook API."); UserSession.getInstance().setFacebookData(obj); getUserData(); } }).executeAsync(); } else if (e != null) { // handle exception } }
@Override public void call(Session session, SessionState state, Exception exception) { if (session.isOpened()) { setFacebookSession(session); // make request to the /me API Request.newMeRequest(session, new Request.GraphUserCallback() { // callback after Graph API response with user object @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { Toast.makeText(LoginActivity.this, "Hello " + user.getName(), Toast.LENGTH_LONG) .show(); } } }).executeAsync(); } }
public void populateContact() { final Session session = Session.getActiveSession(); new Request(session, "/me/friends", null, HttpMethod.GET, new Request.Callback() { public void onCompleted(Response response) { // Process the returned response GraphObject graphObject = response.getGraphObject(); if (graphObject != null) { // Check if there is extra data if (graphObject.getProperty("data") != null) { JSONArray arrayObject = (JSONArray) graphObject .getProperty("data"); int count = arrayObject.length(); if(count == 0) hasAppFriends = false; // Ensure the user has at least one friend //session.close(); } } } }).executeAsync(); }
@Override protected void onSessionStateChange(Session session, SessionState state, Exception exception){ final TextView txtUserDetails = (TextView) mCurrentView.findViewById(R.id.mapViewLoggedInUser); if (session != null && session.isOpened()) { Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { txtUserDetails.setText("Logged in as " + user.getName()); System.out.println("onSessionStateChange: LoadNotes: session is open. username:"+user.getName()); } } }); Request.executeBatchAsync(request); } else if (session.isClosed()) { txtUserDetails.setText(""); System.out.println("onSessionStateChange: LoadNotes: session was closed."); } }
private void onSessionStateChangeP(Session session, SessionState state, Exception exception) { if (session != null && session.isOpened()) { Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { LoggedInUser = user; } } }); Request.executeBatchAsync(request); } else if (session.isClosed()) { LoggedInUser = null; } onSessionStateChange(session, state, exception); }
protected void onSessionStateChange(Session session, SessionState state, Exception exception){ if (session != null && session.isOpened()) { logAndShowOnScreen("\nLogged in. Getting user details."); Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { System.out.println("onSessionStateChange: LoadNotes: session is open. username:"+user.getName()); loadNotes(getActivity(), user.getId()); } } }); Request.executeBatchAsync(request); } else { logAndShowOnScreen("\nUser not already logged in."); System.out.println("onSessionStateChange: LoadNotes: session was closed."); loadNotes(getActivity(), getLoggedInUsername()); } }
private void populateLoggedInUser() { final TextView txtUserDetails = (TextView) this.getActivity().findViewById(R.id.userDetails); final Session session = Session.getActiveSession(); if (session != null && session.isOpened()) { // If the session is open, make an API call to get user data // and define a new callback to handle the response Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { // If the response is successful if (session == Session.getActiveSession()) { if (user != null) { String user_ID = user.getId();//user id String profileName = user.getName();//user's profile name txtUserDetails.setText(user.getName()); } } } }); Request.executeBatchAsync(request); } else if (session == null || session.isClosed()) { } }
private void onLoginFacebookCallback(final Session paramSession) { if (paramSession.isOpened()) Request.newMeRequest(paramSession, new Request.GraphUserCallback() { public void onCompleted(GraphUser paramAnonymousGraphUser, Response paramAnonymousResponse) { if (paramAnonymousGraphUser != null) { FacebookFriendsFragment.access$202(FacebookFriendsFragment.this, paramSession.getAccessToken()); Object[] arrayOfObject = new Object[1]; arrayOfObject[0] = FacebookFriendsFragment.this.fbAccessToken; ךּ.ˊ("REQUEST_FB_LINKING", arrayOfObject); } } }).executeAsync(); }
private void saveFacebookInfo() { Request request = Request.newMeRequest(ParseFacebookUtils.getSession(), new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser graphUser, Response response) { if (graphUser != null) { new DownloadProfilePictureTask().execute(new String[] { graphUser.getId(), graphUser.getName() }); } else if (response.getError() != null) { if ((response.getError().getCategory() == FacebookRequestError.Category.AUTHENTICATION_RETRY) || (response.getError().getCategory() == FacebookRequestError.Category.AUTHENTICATION_REOPEN_SESSION)) { Log.d(LOG_TAG, "The facebook session was invalidated."); } else { Log.e(LOG_TAG, "Some other error: " + response.getError().getErrorMessage()); } } } }); request.executeAsync(); }
protected void doPost() { if(!posting) { posting=true; Request request = Request .newStatusUpdateRequest(Session.getActiveSession(), dataToPost, new Request.Callback() { @Override public void onCompleted(Response response) { //response.getError().getCategory(). if(response.getError()==null) { Log.wtf("Socialify", "Posted to wall! "+response.toString()); finish(); } else { showError(); posting=false; } } }); request.executeAsync(); } }
/** * Asynchronously requests the albums associated with the linked account. Requires an opened active {@link Session}. * * @param id may be {@link #ME} or a Page id. * @param callback a {@link Callback} when the request completes. * @return true if the request is made; false if no opened {@link Session} is active. */ boolean requestAlbums(String id, Callback callback) { boolean isSuccessful = false; Session session = Session.getActiveSession(); if (session != null && session.isOpened()) { // Construct fields to request. Bundle params = new Bundle(); params.putString(ALBUMS_LISTING_LIMIT_KEY, ALBUMS_LISTING_LIMIT_VALUE); params.putString(ALBUMS_LISTING_FEILDS_KEY, ALBUMS_LISTING_FIELDS_VALUE); // Construct and execute albums listing request. Request request = new Request(session, id + TO_ALBUMS_LISTING_GRAPH_PATH, params, HttpMethod.GET, callback); request.executeAsync(); isSuccessful = true; } return isSuccessful; }
public void retrieveEmailAddress() { Request request = Request.newMeRequest(ParseFacebookUtils.getSession(), new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { try { String email = user.getInnerJSONObject().get("email").toString(); ParseUser.getCurrentUser().setEmail(email); ParseUser.getCurrentUser().saveEventually(); } catch (JSONException e) { Log.e("CatChatInbox", "Failed to parse JSON from FB", e); } } } } ); request.executeAsync(); }
@Override public void getNearPlaces(Location location, int radius, final ExternalDataListener dataListener) { final Session session = Session.getActiveSession(); if (session != null & session.isOpened()) { // Make an API call to get nearby places and define a new callback to handle the response Request request = Request.newPlacesSearchRequest(session, location, (int)radius, 100, "", new GraphPlaceListCallback() { @Override public void onCompleted(List<GraphPlace> graphPlaces, Response response) { List<Place> places = new ArrayList<Place>(); for (GraphPlace place : graphPlaces) { //Log.v(TAG, place.getInnerJSONObject().toString()); places.add(createPlace(place)); } dataListener.fireCollectionAdded(places); } }); request.executeAsync(); } }
public static FetchedAppSettings queryAppSettings(final String applicationId, final boolean forceRequery) { // Cache the last app checked results. if (!forceRequery && fetchedAppSettings.containsKey(applicationId)) { return fetchedAppSettings.get(applicationId); } Bundle appSettingsParams = new Bundle(); appSettingsParams.putString(APPLICATION_FIELDS, TextUtils.join(",", APP_SETTING_FIELDS)); Request request = Request.newGraphPathRequest(null, applicationId, null); request.setParameters(appSettingsParams); GraphObject supportResponse = request.executeAndWait().getGraphObject(); FetchedAppSettings result = new FetchedAppSettings( safeGetBooleanFromResponse(supportResponse, SUPPORTS_ATTRIBUTION), safeGetBooleanFromResponse(supportResponse, SUPPORTS_IMPLICIT_SDK_LOGGING), safeGetStringFromResponse(supportResponse, NUX_CONTENT), safeGetBooleanFromResponse(supportResponse, NUX_ENABLED) ); fetchedAppSettings.put(applicationId, result); return result; }
private void createBuyerChannel() { final Session session = ParseFacebookUtils.getSession(); if (session != null && session.isOpened()) { Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if (session == Session.getActiveSession()) { if (user != null) { facebookId = user.getId(); String c = buyerProfile != null ? buyerProfile + adId : facebookId + adId; subscribeChannel(c); publishMessage(c, facebookId, adId); } } } }); Request.executeBatchAsync(request); } }