2013-06-04 5 views
6

मेरे पास ऐसे एप्लिकेशन हैं जो Google डॉक्स एपीआई का उपयोग करते हैं। हाल ही में तक, HTTP एंडपॉइंट्स का उपयोग कर अपलोड ठीक काम कर रहा है। हाल ही में, अपलोडिंग अचानक गलती शुरू कर दी है। सत्र बनाने के लिए पहला कॉल (जो पुन: प्रारंभ करने योग्य यूआरएल देता है) ठीक काम करता है, और एक पुन: प्रयोज्य यूआरएल देता है। तो पुन: प्रारंभ योग्य यूआरएल के लिए फ़ाइल की सामग्री भेजने के लिए प्रयास कर रहा है एक 503.Google डॉक्स एपीआई 503 सेवा अनुपलब्ध करता है। क्या कुछ बदल गया है?

कोड त्रुटि फेंकने की प्रासंगिकता का यह है फेंकता है:

 URL url = new URL(resumableFileUploadUrl); 
     conn = (HttpURLConnection) url.openConnection(); 
     conn.addRequestProperty("client_id", OAuth2Client.CLIENT_ID); 
     conn.addRequestProperty("client_secret", OAuth2Client.CLIENT_SECRET); 
     conn.setRequestProperty("Authorization", "OAuth " + GetAuthToken()); 

     conn.setRequestProperty("X-Upload-Content-Length", String.valueOf(fileContents.length())); //back to 0 
     conn.setRequestProperty("X-Upload-Content-Type", "text/xml"); 
     conn.setRequestProperty("Content-Type", "text/xml"); 
     conn.setRequestProperty("Content-Length", String.valueOf(fileContents.length())); 
     conn.setRequestProperty("Slug", fileName); 

     if(isUpdate) 
     { 
      conn.setRequestProperty("If-Match", "*"); 
      conn.setRequestMethod("PUT"); 
     } 
     else 
     { 
      conn.setRequestMethod("POST"); 
     } 

     conn.setRequestProperty("GData-Version", "3.0"); 
     conn.setRequestProperty("User-Agent", "GPSLogger for Android"); 


     conn.setUseCaches(false); 
     conn.setDoInput(true); 
     conn.setDoOutput(true); 

     DataOutputStream wr = new DataOutputStream(
       conn.getOutputStream()); 
     wr.writeBytes(fileContents); 
     wr.flush(); 
     wr.close(); 

     int code = conn.getResponseCode(); 
     newLocation = conn.getHeaderField("location"); 

ऊपर कोड सत्र बनाने पाने के लिए दोनों प्रयोग किया जाता है पुन: प्रयोज्य यूआरएल के साथ-साथ पुन: प्रयोज्य यूआरएल में फ़ाइल सामग्री पोस्ट करना।

जो this एंड्रॉइड गतिविधि का हिस्सा है। मैं मूल गतिविधि के लिए एक लिंक भी शामिल कर रहा हूं क्योंकि यह केवल भंडार को क्लोन करके समस्या को पुन: उत्पन्न करना काफी आसान होगा। कोड एक साल के लिए छेड़छाड़ बनी हुई है।

क्या हाल ही में कुछ बदल गया है जिससे इसका कारण होगा?

मैं अब के लिए Google ड्राइव के एपीआई का उपयोग करने से बचना चाहता हूं क्योंकि मैंने कोई कोड नहीं बदला है और उसी कोड में मेरे कुछ अन्य अनुप्रयोगों में एक ही कोड का उपयोग किया जा रहा है।

+0

क्या आपने एक अलग Google खाता की कोशिश की है? एक या दो महीने पहले, मेरे खाते (और प्रतीत होता है कि कुछ अन्य लोगों) ने GData Google सेवाओं से 503 सेवा अनुपलब्ध त्रुटियों को वापस कर दिया है। मेरे मामले में, यूट्यूब और Google Play मूवीज़ पूरी तरह से बस्टेड हैं -> https://productforums.google.com/forum/?fromgroups#!topic/youtube/IsDSzuY8NbE YouTube/Movies API से कच्ची प्रतिक्रिया "ServiceNotAvailable" है "GData" का प्रकार और 503 का स्टेटस कोड :( –

+0

मेरा फिडलर ट्रेस इस समस्या में है: https://code.google.com/p/gdata-issues/issues/detail?id=4597 –

उत्तर

0

छवियों का अनुरोध करते समय सबसे कष्टप्रद "सुविधाओं" में से एक अनियंत्रित दर सीमा है, जिनमें से प्रत्येक अनुरोध प्रमाणीकृत होना चाहिए। दर सीमा लगभग 10/एस प्रतीत होती है।

0

आप Google API v2 का उपयोग कर रहे हैं जो अभी तक बहिष्कृत है। नीचे दी गई पोस्ट पढ़ें:

https://developers.google.com/google-apps/documents-list/terms 
संबंधित मुद्दे