मैं फेसबुक पर एक फोटो (एपेंगेन डीबी में संग्रहीत) पोस्ट करना चाहता हूं।जीएई/जे: मैं एपेंगिन से फेसबुक पर एक मल्टीपार्ट एमआईएम संदेश कैसे पोस्ट करूं
परीक्षण करने के लिए मैं बुनियादी समझ मिल गया है नीचे स्थानीय स्तर पर: मैं सफल इस फार्म के साथ किया गया है: (। मैं हाल ही में एक सत्र से ACCESS_TOKEN पकड़ा इस काम करने के लिए)
<form action="https://graph.facebook.com/7378294228/photos?access_token=AAAAAJPBSAzcBALmz7GOLZCER7Pc2347WQIDIlIFR8e2imWUzeuCKRLrXjAqR6zjaUb4laqkLtJlQlYa7X5ZBd2aNJoLom8M7IlvHfw39QZDZD" method="POST" enctype="multipart/form-data">
<input type="file" name="source" id="source"/>
<input type="text" name="message" value="mymess"/>
<input type="Submit"/>
</form>
यहाँ है कि मैं क्या appengine असफल अब तक पर की कोशिश की है:
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new ByteArrayBody(imageBytes, "image/jpeg", "w.jpg");
mpEntity.addPart("source", cbFile);
URL url = new URL("https://graph.facebook.com/"+albumUpload.getAlbumID()+"/photos?access_token="+albumUpload.getAuthToken());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
mpEntity.writeTo(connection.getOutputStream());
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.err.println("http success!");
}else{
System.err.println("http failed:"+connection.getResponseCode());
}
मुझे एक HTTP 400 - खराब अनुरोध मिलता है। ,
mpEntity image content length: 786145
mpEntity content type:Content-Type: multipart/form-data; boundary=oMiJCBHGVvZmU7s3FcUGXMbyU23aX_Ow
केवल उदाहरण मैं ऑनलाइन MultipartEntity उपयोग के पा सकते हैं HttpClient के setEntity() का उपयोग कर रहे हैं:
System.out.println("mpEntity image content length: "+cbFile.getContentLength());
System.out.println("mpEntity content type:"+mpEntity.getContentType());
जिसमें परिणाम:
मैं इन यकीन है कि यह कुछ कर रहा था बनाने के लिए जोड़ा जैसा कि इस तरह लागू नहीं होता है क्योंकि यह एपेंगिन के तहत एक यूआरएलफ़ेच है।
किसी भी मदद/कोड के लिए धन्यवाद।
धन्यवाद, @abramcat। तुमने मुझे बहुत मदद की। जीएई से इस पोस्टिंग बहु-भाग को आजमाने में 1.5 दिन लग गए। – payliu
धन्यवाद abramcat करने के लिए भी, आपका दस्तावेज मेरे लिए एक बड़ा समर्थन रहा है। बहुत ज्यादा अधिमूल्यित ! बस आश्चर्य कीजिए कि फाइल अपलोड जैसे "बुनियादी" चीजें इतनी जटिल और इतनी खराब दस्तावेज क्यों होनी चाहिए। – Hugues
आपको यह जवाब स्वीकार करना चाहिए। – Gray