2017-05-05 4 views
1

Facebook DocsFacebook4Jを使用してFacebookレート制限ヘッダーを取得する方法は?あなたのアプリは、当社のシステムにより、レート制限のために考慮されるのに十分な呼び出しを行っている場合は

によると、我々はX-のApp-使用法HTTPヘッダーを返します。 [...]これらの指標のいずれかが100を超えると、アプリはレート制限されます。

私はアプリケーションをFacebook APIに接続するためにFacebook4Jを使用しています。しかし、レート制限を避けるためにFacebookコールの後にX-App-Usage HTTPヘッダーを取得する方法についてのドキュメントは見つかりませんでした。私はこのヘッダーを使用して、各APIコールの間の時間を増減する必要がある場合に、dinamicallyを知りたいと思います。

私の質問は:Facebook4Jを使用すると、FacebookがX-App-Usage HTTPヘッダーを返して取得するかどうかを確認することができますか?どうやって?

+0

を試みることができます制限 – WizKid

+0

「FacebookがX-App-Usage HTTPヘッダーを返して取得したかどうかを確認できますか?」という質問を更新しました。 – lgfischer

答えて

1

facebook4jでBatchRequestsの応答のためのgetResponseHeader方法がご覧あるFacebook4j code examples

あなたが近くに取得する場合は、ヘッダーを取得getResponseHeader( "X-のApp-使用法")

// Executing "me" and "me/friends?limit=50" endpoints 
BatchRequests<BatchRequest> batch = new BatchRequests<BatchRequest>(); 
batch.add(new BatchRequest(RequestMethod.GET, "me")); 
batch.add(new BatchRequest(RequestMethod.GET, "me/friends?limit=50")); 
List<BatchResponse> results = facebook.executeBatch(batch); 

BatchResponse result1 = results.get(0); 
BatchResponse result2 = results.get(1); 

// You can get http status code or headers 
int statusCode1 = result1.getStatusCode(); 
String contentType = result1.getResponseHeader("Content-Type"); 

// You can get body content via as****() method 
String jsonString = result1.asString(); 
JSONObject jsonObject = result1.asJSONObject(); 
ResponseList<JSONObject> responseList = result2.asResponseList(); 

// You can map json to java object using DataObjectFactory#create****() 
User user = DataObjectFactory.createUser(jsonString); 
Friend friend1 = DataObjectFactory.createFriend(responseList.get(0).toString()); 
Friend friend2 = DataObjectFactory.createFriend(responseList.get(1).toString()); 
関連する問題