13

共有ポイントのログイン資格情報を使用して、Linux から共有ポイントにファイルをアップロードしようとしています。これを実現するには、cURL ユーティリティを使用します。アップロードは成功です。

使用されるコマンドは次のとおりです。curl --ntlm --user username:password --upload-file myfile.txt -k https://sharepointserver.com/sites/mysite/myfile.txt -k オプションは、安全でない共有ポイント サイトの証明書エラーを克服するために使用されます。

ただし、このアップロードされたファイルは、ログインからの共有ポイントの「チェックアウト」ビュー (緑色の矢印) に表示されています。その結果、このファイルは他のログインのユーザーには存在しません。

私のログインには、sharepoint への書き込みアクセス権限があります。

このファイルを cURL を使用して共有ポイントに「チェックイン」して、誰のログインからでもファイルを表示できるようにする方法についてのアイデアはありますか?

4

3 に答える 3

0

cURL を使用して複数の要求を実行することに関する私の質問には、bash と cURL を使用したかなり包括的な例がありますが、要求ごとにパスワードを再入力する必要があります。

于 2015-02-05T10:37:58.267 に答える
0

現在テストできるcurlはありませんが、次の情報から何かを作ることができるかもしれません.

チェックインとチェックアウトは /_layouts/CheckIn.aspx によって処理されます

このページには、次のクエリ文字列変数があります。

List - 現在のリストを識別する GUID。

FileName - 拡張子付きのファイルの名前。

ソース- ライブラリ内の allitems.aspx ページへの完全な URL。

FileName パラメーターと Source パラメーターを使用し、List パラメーターを省略しただけで、CheckIn.aspx ページを正しく読み込むことができました。リスト GUID を検索する方法を理解する必要がないため、これは良いことです。

CheckIn.aspx ページは、チェックインを制御する次のフォーム パラメータを使用して、それ自体にポストバックします。

PostBack - true に設定されたブール値。

CheckInAction - ActionCheckin に設定された文字列

KeepCheckout - チェックアウトを維持する場合は 1 に設定し、チェックインを維持する場合は 0 に設定します。

CheckinDescription - テキストの文字列

これをcurlで次のように呼び出します

curl --data "PostBack=true&CheckinAction=ActionCheckin&KeepCheckout=0&CheckinDescription=SomeTextForCheckIn" http:// {サーバーとサイト} /_layouts/checkin.aspx?Source= {ライブラリへの完全な URL} /Forms/AllItems.aspx&FileName={Doc And外}

私が言ったように、テストするcurlはありませんが、Fiddler 2のComposerタブを使用してこれを機能させました

現在curlでこれを試していますが、動作させるのに問題があります。Fiddler はリクエストを POST として実行していました。これを GET 要求として実行しようとすると、SPWeb の AllowUnsafeUpdates プロパティがこの要求を GET で許可しないことを示す 500 エラーが発生します。リクエストを POST として送信すると、これが修正されます。

編集私は現在、DotPeek 逆コンパイラで checkin.aspx ソースを調べており、ActionCheckinPublish や ActionCheckinFromClientPublish など、関連する可能性のある ActionCheckin パラメータの追加オプションを確認しています。追加の調査結果でこれを更新します。このページは、Microsoft.SharePoint.ApplicationPages.Checkin にあります。

于 2012-11-27T18:40:01.710 に答える