private static GraphRequest createGrantedPermissionsRequest( AccessToken accessToken, GraphRequest.Callback callback ) { Bundle parameters = new Bundle(); return new GraphRequest( accessToken, ME_PERMISSIONS_GRAPH_PATH, parameters, HttpMethod.GET, callback); }
private static GraphRequest createExtendAccessTokenRequest( AccessToken accessToken, GraphRequest.Callback callback ) { Bundle parameters = new Bundle(); parameters.putString("grant_type", "fb_extend_sso_token"); return new GraphRequest( accessToken, TOKEN_EXTEND_GRAPH_PATH, parameters, HttpMethod.GET, callback); }
GetOGObjectIdRequestWrapper(String objectId, LikeView.ObjectType objectType) { super(objectId, objectType); Bundle objectIdRequestParams = new Bundle(); objectIdRequestParams.putString("fields", "og_object.fields(id)"); objectIdRequestParams.putString("ids", objectId); setRequest(new GraphRequest( AccessToken.getCurrentAccessToken(), "", objectIdRequestParams, HttpMethod.GET)); }
GetPageIdRequestWrapper(String objectId, LikeView.ObjectType objectType) { super(objectId, objectType); Bundle pageIdRequestParams = new Bundle(); pageIdRequestParams.putString("fields", "id"); pageIdRequestParams.putString("ids", objectId); setRequest(new GraphRequest( AccessToken.getCurrentAccessToken(), "", pageIdRequestParams, HttpMethod.GET)); }
GetPageLikesRequestWrapper(String pageId) { super(pageId, LikeView.ObjectType.PAGE); this.pageId = pageId; Bundle requestParams = new Bundle(); requestParams.putString("fields", "id"); setRequest(new GraphRequest( AccessToken.getCurrentAccessToken(), "me/likes/" + pageId, requestParams, HttpMethod.GET)); }
PublishLikeRequestWrapper(String objectId, LikeView.ObjectType objectType) { super(objectId, objectType); Bundle likeRequestParams = new Bundle(); likeRequestParams.putString("object", objectId); setRequest(new GraphRequest( AccessToken.getCurrentAccessToken(), "me/og.likes", likeRequestParams, HttpMethod.POST)); }
public static void makeGetPostsRequest(GraphRequest.Callback callback) { Bundle params = new Bundle(); params.putString("fields", "message,created_time,id,picture,story,from"); GraphRequest request = new GraphRequest( AccessToken.getCurrentAccessToken(), FEED_ENDPOINT, params, HttpMethod.GET, callback ); request.executeAsync(); }
public static void makePublishPostRequest(String message, GraphRequest.Callback callback) { Bundle params = new Bundle(); params.putString("message", message); GraphRequest request = new GraphRequest( AccessToken.getCurrentAccessToken(), FEED_ENDPOINT, params, HttpMethod.POST, callback ); request.executeAsync(); }
PublishUnlikeRequestWrapper(String unlikeToken) { super(null, null); this.unlikeToken = unlikeToken; setRequest(new GraphRequest( AccessToken.getCurrentAccessToken(), unlikeToken, null, HttpMethod.DELETE)); }
@LargeTest public void testBatchWithoutAppIDIsError() { GraphRequest request1 = new GraphRequest(null, "TourEiffel", null, null, new ExpectFailureCallback()); GraphRequest request2 = new GraphRequest(null, "SpaceNeedle", null, null, new ExpectFailureCallback()); GraphRequest.executeBatchAndWait(request1, request2); }
@Test public void testBuildsClientTokenIfNeeded() throws Exception { GraphRequest requestMe = new GraphRequest(null, "TourEiffel"); HttpURLConnection connection = GraphRequest.toHttpConnection(requestMe); assertTrue(connection != null); Uri uri = Uri.parse(connection.getURL().toString()); String accessToken = uri.getQueryParameter("access_token"); assertNotNull(accessToken); assertTrue(accessToken.contains(FacebookSdk.getApplicationId())); assertTrue(accessToken.contains(FacebookSdk.getClientToken())); } }
protected JSONObject getAndAssert(AccessToken accessToken, String id) { Bundle parameters = new Bundle(); parameters.putString("fields", "message"); GraphRequest request = new GraphRequest(accessToken, id, parameters, null); GraphResponse response = request.executeAndWait(); assertNotNull(response); assertNull(response.getError()); JSONObject result = response.getJSONObject(); assertNotNull(result); return result; }
@Test public void testSingleGetToHttpRequest() throws Exception { GraphRequest requestMe = new GraphRequest(null, "TourEiffel"); HttpURLConnection connection = GraphRequest.toHttpConnection(requestMe); assertTrue(connection != null); assertEquals("GET", connection.getRequestMethod()); assertEquals("/" + FacebookSdk.getGraphApiVersion() + "/TourEiffel", connection.getURL().getPath()); assertTrue(connection.getRequestProperty("User-Agent").startsWith("FBAndroidSDK")); Uri uri = Uri.parse(connection.getURL().toString()); assertEquals("android", uri.getQueryParameter("sdk")); assertEquals("json", uri.getQueryParameter("format")); }
@Test public void testCreateRequest() { GraphRequest request = new GraphRequest(); assertTrue(request != null); assertEquals(HttpMethod.GET, request.getHttpMethod()); }
@LargeTest public void testRequestWithNoTokenFails() { GraphRequest request = new GraphRequest(null, "me"); GraphResponse response = request.executeAndWait(); assertNotNull(response.getError()); }
@Suppress @LargeTest public void testBatchWithoutAppIDIsError() throws Throwable { GraphRequest request1 = new GraphRequest(null, "TourEiffel", null, null, new ExpectFailureCallback()); GraphRequest request2 = new GraphRequest(null, "SpaceNeedle", null, null, new ExpectFailureCallback()); TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask(request1, request2); task.executeOnBlockerThread(); // Wait on 3 signals: request1, request2, and task will all signal. waitAndAssertSuccessOrRethrow(3); }
@LargeTest public void testBatchTimeoutIsApplied() { GraphRequest request = new GraphRequest(null, "me"); GraphRequestBatch batch = new GraphRequestBatch(request); // We assume 5 ms is short enough to fail batch.setTimeout(1); List<GraphResponse> responses = GraphRequest.executeBatchAndWait(batch); assertNotNull(responses); assertTrue(responses.size() == 1); GraphResponse response = responses.get(0); assertNotNull(response); assertNotNull(response.getError()); }
@Test public void testSetHttpMethodToNilGivesDefault() { GraphRequest request = new GraphRequest(); assertEquals(HttpMethod.GET, request.getHttpMethod()); request.setHttpMethod(null); assertEquals(HttpMethod.GET, request.getHttpMethod()); }
@LargeTest public void testExecuteSingleGetFailureCase() { final AccessToken accessToken = getAccessTokenForSharedUser(); GraphRequest request = new GraphRequest(accessToken, "-1", null, null, new ExpectFailureCallback()); TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask(request); task.executeOnBlockerThread(); // Wait on 2 signals: request and task will both signal. waitAndAssertSuccess(2); }
@MediumTest @LargeTest public void testShortTimeoutCausesFailure() { final AccessToken accessToken = getAccessTokenForSharedUser(); GraphRequest request = new GraphRequest(accessToken, "me/likes", null, null, new ExpectFailureCallback()); GraphRequestBatch requestBatch = new GraphRequestBatch(request); // 1 millisecond timeout should be too short for response from server. requestBatch.setTimeout(1); TestGraphRequestAsyncTask task = new TestGraphRequestAsyncTask(requestBatch); task.executeOnBlockerThread(); // Note: plus 1, because the overall async task signals as well. waitAndAssertSuccess(2); }