2013-08-16 5 views
6

मुझे पता है कि वहाँ कोटा हैं: https://code.google.com/apis/console लेकिन ये दैनिक कोटा हैं। और वहां मैं प्रति दिन 10,000 प्रश्न (सौजन्य सीमा) देखता हूं।क्या Google+ एपीआई की कोई घंटे की दर सीमा है?

{ 
"code" : 403, 
"errors" : [ { 
"domain" : "usageLimits", 
"message" : "Rate Limit Exceeded", 
"reason" : "rateLimitExceeded" 
} ], 
"message" : "Rate Limit Exceeded" 
} 

1 घंटे के कार्यक्रम के बाद फिर से 170-190 करता है जब तक एक ही त्रुटि मिलती है: वास्तव में मेरा कार्यक्रम है कि के बाद गूगल + एपीआई से इस तरह प्रतिक्रिया मिलती है प्रति घंटे 170-190 अनुरोध बनाता है। लेकिन प्रति घंटा 190 अनुरोध * 24 घंटे 10,000 से बहुत दूर है।

मैं विधि लोगों का उपयोग कर रहा हूं। खोज और google-api-java-client लाइब्रेरी संस्करण 1.15.0-आरसी। नीचे की तरह प्रारंभ प्लस सेवा:

HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); 
     JsonFactory jsonFactory = new JacksonFactory(); 
     GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport) 
       .setJsonFactory(jsonFactory) 
       .setServiceAccountId(EMAIL) 
       .setServiceAccountScopes(Collections.singleton(PlusScopes.PLUS_LOGIN)) 
       .setServiceAccountPrivateKeyFromP12File(KEY_FILE)) 
       .build(); 
     Plus plus = new Plus.Builder(httpTransport, jsonFactory, credential) 
       .setApplicationName(APP_NAME).build(); 

और उपयोग इस तरह खोज विधि:

Plus.People.Search searchPeople = people.search(fullname); 
    searchPeople.setMaxResults(50L); 
    searchPeople.setFields("items(id),nextPageToken"); 
    PeopleFeed peopleFeed = searchPeople.execute(); 
while (true) { 
     if (peopleFeed.getItems().size() == 0) { 
      break; 
     } 

     /* Save people info here */ 

     if (peopleFeed.getNextPageToken() == null) { 
      break; 
     } 
     try { 
      Thread.sleep(500); 
     } catch (InterruptedException e) { } 
     searchPeople.setPageToken(peopleFeed.getNextPageToken()); 
     peopleFeed = searchPeople.execute(); 
    } 

मैं 1 सेकंड या 2 सेकंड के लिए सोने का समय बदलने की कोशिश की - एक ही व्यवहार। कुंजी फ़ाइल को पुन: उत्पन्न करने का प्रयास किया - कोई भाग्य नहीं।

क्या मैंने कुछ गलत किया?

उत्तर

8

मुद्दा तिगुना है:

  1. दर सीमा प्रतिदिन (10,000) दोनों और प्रति सेकंड है (5)।
  2. त्रुटि संदेश प्रकारों के बीच साझा किया जाता है।
  3. अगली विंडो प्रदान नहीं होने तक समय।

इस प्रकार, मैं अपने आवेदन पत्र rand(1,5) सेकंड प्रतीक्षा करें और अगर वे फिर से सीमित दर कर रहे हैं, मैं थोड़ी देर बाद प्रयास 3600 सेकंड प्रतीक्षा की है।

+0

मैंने इसी तरह के समाधान के साथ समाप्त कर दिया है - अनुरोधों के बीच थोड़ी देर प्रतीक्षा करें और पकड़ दर सीमा पर बड़ी प्रतीक्षा करें। ऐसा लगता है कि अब तक कोई बेहतर समाधान नहीं है। – sil3

+0

फिर वे बैच अनुरोध क्यों देते हैं? जब भी मैं बैच अनुरोध करता हूं तो मुझे दर सीमित होती है। –

1

यदि आप इंगित किए गए एपीआई कंसोल पर Quotas लिंक पर जाते हैं, तो यह आपके एपी के प्रत्येक एपीआई के उपयोग के लिए दैनिक सीमा को तोड़ देगा, लेकिन प्रति उपयोगकर्ता कोटा भी सूचीबद्ध करेगा। उदाहरण के लिए, मेरा वर्तमान

 
    Google+ API 5.0 requests/second/user 

सामान्य तौर पर, उनके एपीआई endpoint फटने इससे अधिक की अनुमति दे सकता है, और इस बात का अनुमान विचार किया जाना चाहिए, लेकिन विस्तारित अवधि के लिए इस सीमा से अधिक जा रहा दर सीमा आप त्रुटि को पार कर कारण हो सकता है पता चलता देख।

+0

उत्तर के लिए धन्यवाद। हां, मेरा 5.0 अनुरोध/दूसरा/उपयोगकर्ता भी दिखाता है। लेकिन मैं इस दर के अंदर रहने के लिए प्रतीक्षा अवधि (_Thread.sleep() _) का उपयोग कर रहा हूं। और वर्तमान में मैं इस ऐप का एकमात्र उपयोगकर्ता हूं। – sil3

संबंधित मुद्दे