2012-11-18 13 views
9

मैं अपने शेयरपॉइंट लॉगिन प्रमाण-पत्रों के साथ लिनक्स से शेयरपॉइंट पर एक फ़ाइल अपलोड करने का प्रयास कर रहा हूं। मैं इसे प्राप्त करने के लिए curl उपयोगिता का उपयोग करता हूं। अपलोड सफल है।कर्ल का उपयोग करके शेयरपॉइंट पर फ़ाइलों को स्वचालित रूप से अपलोड और चेक करने के लिए कैसे करें?

उपयोग किया गया आदेश है: curl --ntlm --user username:password --upload-file myfile.txt -k https://sharepointserver.com/sites/mysite/myfile.txt -k विकल्प गैर-सुरक्षित शेयरपॉइंट साइट के लिए प्रमाणपत्र त्रुटियों को दूर करने के लिए उपयोग किया जाता है।

हालांकि, यह अपलोड की गई फ़ाइल मेरे लॉगिन से शेयरपॉइंट में "चेक आउट" व्यू (हरा तीर) में दिखाई दे रही है। नतीजतन, यह फ़ाइल अन्य लॉगिन से उपयोगकर्ताओं के लिए मौजूद नहीं है।

मेरे लॉगिन में शेयरपॉइंट के लिए लेखन पहुंच previlege है।

इस फ़ाइल को "फ़ाइल में" चेक करने के तरीके पर किसी भी विचार को कर्ल के साथ साझा करने के लिए ताकि फ़ाइल किसी के लॉगिन से देखी जा सके?

उत्तर

1

मेरे पास अभी परीक्षण करने के लिए कर्ल उपलब्ध नहीं है लेकिन आप निम्न जानकारी में से कुछ को फ़ैशन करने में सक्षम हो सकते हैं। - एक GUID कि वर्तमान सूची को दिखाता है

सूची: में

चेक करें और यह देखें /_layouts/CheckIn.aspx

पेज निम्नलिखित क्वेरी स्ट्रिंग चर द्वारा नियंत्रित किया जाता।

फ़ाइल नाम - एक्सटेंशन के साथ फ़ाइल का नाम।

स्रोत - पुस्तकालय में allitems.aspx पृष्ठ का पूरा यूआरएल।

मैं FileIname और स्रोत पैरामीटर का उपयोग करके और सूची पैरामीटर को छोड़कर ठीक से लोड करने के लिए CheckIn.aspx पृष्ठ प्राप्त करने में सक्षम था। यह अच्छा है क्योंकि आपको सूची GUID को देखने का कोई तरीका पता नहीं है। सच करने के लिए बूलियन सेट -

PostBack:

कि चेकइन को नियंत्रित निम्नलिखित रूप मानकों के साथ

ही CheckIn.aspx पेज Postbacks।

CheckInAction - स्ट्रिंग ActionCheckin

KeepCheckout करने के लिए सेट - 1 पर सेट चेकआउट रखने के लिए और 0 में

CheckinDescription जाँच रखना करने के लिए - पाठ की स्ट्रिंग

में इस कॉल कर्ल

कर्ल --डेटा "पोस्टबैक = सही & CheckinAction = ActionCheckin & KeepCheckout = 0 & CheckinDescription = SomeTextForCheckIn "http: // {अपने सर्वर और साइट} /_layouts/checkin.aspx?Source= {पूर्ण यूआरएल लाइब्रेरी के लिए}/प्रपत्र/AllItems।aspx & फ़ाइल का नाम = {डॉक्टर और Ext}

जैसा कि मैंने कहा मैं परीक्षण करने के लिए कर्ल नहीं है, लेकिन मैं फ़िडलर 2 में संगीतकार टैब का उपयोग करके काम करने के लिए

मैं अब कर्ल के साथ इस कोशिश कर रहा हूँ यह मिल गया और काम करने के लिए एक मुद्दा है। फिडलर एक पोस्ट के रूप में अनुरोध निष्पादित कर रहा था। यदि आप इसे जीईटी अनुरोध के रूप में करने का प्रयास करते हैं तो आपको 500 त्रुटि मिल जाएगी कि एसपीवेब की AllowUnsafe अद्यतन संपत्ति इस अनुरोध को जीईटी पर अनुमति नहीं देगी। एक पोस्ट के रूप में अनुरोध भेजना इसे सही करना चाहिए।

संपादित मैं वर्तमान में DotPeek decompiler में checkin.aspx स्रोत के माध्यम से जा रहा हूँ और ActionCheckin पैरामीटर कि ActionCheckinPublish और ActionCheckinFromClientPublish के रूप में प्रासंगिक हो सकता है इस तरह के लिए कुछ अतिरिक्त विकल्प देखकर। मैं इसे किसी भी अतिरिक्त निष्कर्ष के साथ अपडेट कर दूंगा। यह पृष्ठ माइक्रोसॉफ्ट.शेयरपॉइंट.एप्लिकेशंस पेज पर स्थित है। रुचि रखने वाले किसी और के लिए चेक करें।

0

उपरोक्त उत्तर Junx सही है। हालांकि, फ़ाइल नाम वैरिएबल न केवल दस्तावेज़ फ़ाइल नाम और एक्सटेंशन है, बल्कि पुस्तकालय नाम भी शामिल होना चाहिए। मैं इसे निम्नलिखित का उपयोग करके काम करने में सक्षम था।

उदाहरण: http://domain/_layouts/Checkin.aspx?Filename=Shared Documents/filename.txt

0

मेरा प्रश्न के बारे में Performing multiple requests using cURL हालांकि यह प्रत्येक अनुरोध के लिए पासवर्ड फिर से दर्ज करने के लिए से ग्रस्त है, एक बहुत व्यापक बैश और cURL का उपयोग कर उदाहरण है।

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

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