मैंने XML API का उपयोग करके Google क्लाउड स्टोरेज में एक फ़ाइल अपलोड करने का प्रयास किया। मेरे पास प्रत्येक अपलोड के लिए GoogleAccessId, समाप्ति तिथि और हस्ताक्षर उत्पन्न सही है। अजीब बात यह है कि मैं पोस्टमैन (क्रोम के लिए आवेदन) का उपयोग कर फ़ाइल डाल सकता हूं, इसलिए मुझे यकीन है कि यूआरएल ठीक है। मैं बस अपने एंड्रॉइड जावा प्रोग्राम का उपयोग नहीं कर सकता (यह मुझे 403 त्रुटि देता है)।Google क्लाउड स्टोरेज को HttpURLConnection PUT त्रुटि दे रहा है 403
URL url;
HttpURLConnection connection;
try {
url = new URL("http://google-testbucket.storage.googleapis.com/[email protected]unt.com&Expires=1331155464&Signature=BClz9e4UA2MRRDX62TPd8sNpUCxVsqUDG3YGPWvPcwN%2BmWBPqwgUYcOSszCPlgWREeF7oPGowkeKk7J4WApzkzxERdOQmAdrvshKSzUHg8Jqp1lw9tbiJfE2ExdOOIoJVmGLoDeAGnfzCd4fTsWcLbal9sFpqXsQI8IQi1493mw%3D");
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("PUT");
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write("Test");
out.close();
Log.i("TAG", "PUT Response code: " + connection.getResponseCode());
} catch (MalformedURLException e) {
e.printStackTrace();
Log.e("TAG", "MalformedURLException");
} catch (ProtocolException e) {
e.printStackTrace();
Log.e("TAG", "ProtocolException");
} catch (IOException e) {
e.printStackTrace();
Log.e("TAG", "IOException");
}
PUT वस्तु के लिए प्रलेखन:: स्रोत कोड प्रदर्शन अपलोड यहाँ (: https://cloud.google.com/storage/docs/access-control#Signing-Strings यह इस पर आधार) है https://cloud.google.com/storage/docs/xml-api/put-object-upload
किसी को भी इस समस्या पर गौर और दे सकते हैं मुझे संकेत क्या इस के साथ गलत हो गया हो सकता है एक?
http://stackoverflow.com/questions/17225638/forbiddenerror-when-attempting-to-write-file-to-gcs-from-gae-python-app की संभावित डुप्लिकेट अधिकतर संभावना है कि आपका एंड्रॉइड ऐप ठीक से प्रमाणीकृत नहीं है और क्रोम में आप हैं (मुझे लगता है कि आप क्रोम में अपने Google खाते पर लॉग इन हैं) – morpheus05
मुझे नहीं लगता कि यह एक बिंदु है, क्योंकि पोस्टमैन के लिए यह भी काम करता है जब मैं अपने किसी भी खाते से साइन आउट करता हूं। अलग-अलग मूल कारण होना चाहिए, लेकिन मैं विचारों से बाहर हूं। – SmiglowiecX
यदि आप हस्ताक्षरित यूआरएल के साथ काम करते हैं तो यूआरएल गलत हो सकता है, – morpheus05