gpt4 book ai didi

sharepoint - 如何使用curl自动上传并 checkin 文件到共享点?

转载 作者:行者123 更新时间:2023-12-02 22:55:12 35 4
gpt4 key购买 nike

我正在尝试使用我的共享点登录凭据将文件从 Linux 上传到共享点。我使用 cURL 实用程序来实现此目的。上传成功。

使用的命令是:curl --ntlm --user 用户名:密码 --upload-file myfile.txt -k https://sharepointserver.com/sites/mysite/myfile.txt-k 选项用于克服非安全共享点站点的证书错误。

但是,此上传的文件显示在我登录的共享点的“ checkout ” View (绿色箭头)中。因此,对于其他登录的用户来说,此文件不存在。

我的登录名具有对共享点的写访问权限。

关于如何使用 cURL 将此文件“ checkin ”到共享点以便任何人都可以通过登录查看该文件,有什么想法吗?

最佳答案

我现在没有可用于测试的curl,但您也许可以根据以下信息构建一些内容。

checkin 和 checkout 由/_layouts/CheckIn.aspx处理

该页面具有以下查询字符串变量:

列表 - 标识当前列表的 GUID。

FileName - 带扩展名的文件名。

来源 - 库中 allitems.aspx 页面的完整 URL。

仅使用 FileName 和 Source 参数并省略 List 参数,我就能够正确加载 CheckIn.aspx 页面。这很好,因为您不必找出查找列表 GUID 的方法。

CheckIn.aspx 页面使用以下控制 checkin 的表单参数回发到自身:

PostBack - bool 值设置为 true。

CheckInAction - 设置为 ActionCheckin 的字符串

KeepCheckout - 设置为 1 保持结账,设置为 0 保持 checkin

CheckinDescription - 文本字符串

像这样在curl中调用它

curl --data "PostBack=true&CheckinAction=ActionCheckin&KeepCheckout=0&CheckinDescription=SomeTextForCheckIn"http://{您的服务器和站点}/_layouts/checkin.aspx?Source={完整网址到库}/Forms/AllItems.aspx&FileName={Doc And Ext}

正如我所说,我没有curl 可供测试,但我使用 Fiddler 2 中的“Composer”选项卡使其可以工作

我现在正在尝试使用curl 进行此操作,但在使其正常工作时存在问题。 Fiddler 正在以 POST 方式执行请求。如果您尝试以 GET 请求的方式执行此操作,您将收到 500 错误,指出 SPWeb 的AllowUnsafeUpdates 属性不允许通过 GET 进行此请求。以 POST 方式发送请求应该可以纠正此问题。

编辑 我目前正在 DotPeek 反编译器中查看 checkin.aspx 源代码,并看到一些可能相关的 ActionCheckin 参数的其他选项,例如 ActionCheckinPublish 和 ActionCheckinFromClientPublish。我将用任何其他发现来更新此内容。该页面位于 Microsoft.SharePoint.ApplicationPages.Checkin,供其他感兴趣的人使用。

关于sharepoint - 如何使用curl自动上传并 checkin 文件到共享点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13442467/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com