我很难弄清楚如何让应用程序对Sharepoint站点进行读/写访问。
以下是我所做的:
Client error: `PUT https://graph.microsoft.com/v1.0/drives/b!XxxxxxxxxxxxxxxxB/items/root:/StationMD%20Addl%20Enrollees%2020200508.xlsx:/content` resulted in a `403 Forbidden` response:
{
"error": {
"code": "accessDenied",
"message": "Access denied",
"innerError": {
奇怪的是,我能够以创建网站的用户的身份做到这一点,但不是作为一个虚拟用户(也有读写文件的权限)
所以...
问题似乎是应用程序权限。是否有方法仅为该sharepoint网站或Is文件设置应用程序权限。读写。我唯一的选择?我可以为当前未登录但通过OAuth2进行身份验证的用户使用委派权限吗?
更多信息5/16/20
我有两个用户。一个是我用来创建Sharepoint站点的常规帐户。另一个是用于上传文件的“服务号”。两个用户都可以使用GUI编辑/上传/删除文件。但是,当使用API时,服务用户不能上传文件,而普通用户可以。我确保两个用户都是网站的成员。使用图形资源管理器,我可以看到驱动器。
https://graph.microsoft.com/v1.0/drives/b!XXXXxxxxx
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives/$entity",
"createdDateTime": "2020-04-26T11:19:17Z",
"description": "",
"id": "b!XXXXXxxxxx",
"lastModifiedDateTime": "2020-05-16T11:56:23Z",
"name": "Documents",
"webUrl": "https://xxxxxxx.sharepoint.com/sites/sftp/Shared%20Documents",
"driveType": "documentLibrary",
"createdBy": {
"user": {
"displayName": "System Account"
}
},
"owner": {
"group": {
"email": "xxxx@xxxxxx.onmicrosoft.com",
"id": "xxxxx-xx-xxxx-xxxx-xxxxxxxx",
"displayName": "sftp Owners"
}
},
"quota": {
"deleted": 2812850,
"remaining": 27487773843447,
"state": "normal",
"total": 27487790694400,
"used": 8848121
}
}
据我所知:
不能限制到应用程序中的特定站点权限级别(如果需要,在逻辑上进行限制)。
如果要跳过用户登录,请使用应用程序权限。
如果要使用Graph api,请使用Microsoft Graph中的权限访问SharePoint中的数据。
我已经很久没有使用SharePoint了,但我会尝试回答与Azure AD相关的问题。
奇怪的是,我能够以创建网站的用户的身份做到这一点,但不是作为一个虚拟用户(也有读写文件的权限)
这很奇怪。我希望调用可以使用应用程序具有的权限:\
是否有方法仅为该sharepoint网站或Is文件设置应用程序权限。读写。我唯一的选择?
这个我不确定。您可以向应用程序授予委托权限文件。读写。所有这些都允许您访问/修改用户可以访问的任何文件,或者您可以授予应用程序权限文件。读写。所有这些都允许应用程序访问/修改任何网站集中的任何文件。
我可以为当前未登录但通过OAuth2进行身份验证的用户使用委派权限吗?
简单回答,是的。如果他们至少对你的应用程序进行了一次身份验证,那么当他们进行身份验证时,你会得到该用户的刷新令牌。安全地存储该刷新令牌,并在需要时使用它来获取新的访问令牌。注意以下几点:
我正在努力通过Mircosoft Graph访问Sharepoint网站的文档库,但到目前为止没有任何运气。 这是我的设置: 我有两个网站 https://mydomain.sharepoint.com https://mydomain.sharepoint.com/teams/MyTestSite 当我对https://graph.microsoft.com/v1.0/drives进行api调用
大家好,我想给文件以读模式或写模式打开的权限。ext包含文件扩展名,file_name包含文件名。f_p是一个可验证的输入,其中I是作为“r”或“w”模式的输入。这里我在不同的位置使用相同的文件 但是在这段代码中,我得到了错误,因为找不到符号:方法setReadable(布尔)location:fos2是FileOutputStream类型 <% %>https://jsfiddle.net/wc
使用Microsoft GraphAPI,我可以访问SharePoint团队站点文档库和列表,但无法访问SharePoint通信站点。 中添加的应用权限: 文件夹。阅读全部,文件。读写。全部,组。阅读所有,站点。管理全部,用户。阅读,用户。阅读全部,用户。ReadBasic。全部的 用于访问SharePoint团队网站的endpoint: 我正在调用同一个endpoint来访问通信站点,但我得到了
如果我把我的Applescript给另一个人,他们将不得不手动允许Applescript控制他们的计算机进入系统首选项,点击安全 如果没有添加applescript以便它可以控制,我会得到错误,“脚本编辑器不允许辅助访问。”
问题内容: 我可以使用以下代码轻松地授予对一个IP的访问权限: 但是我需要允许整个子网192.168.1。*远程访问数据库。 我怎样才能做到这一点? 问题答案: 编辑:考虑在此页面上查看并认可Malvineous的答案。网络掩码是一种更为优雅的解决方案。 只需在IP地址中将百分号用作通配符即可。 从http://dev.mysql.com/doc/refman/5.1/en/grant.html
问题内容: 我正在尝试使用PHP创建文件,但无法正常工作。我假设这是因为它没有写访问权限(以前一直是问题)。我试图通过使文件夹chmod 0777来测试这是否是问题,但是最终使该目录中的每个脚本都返回了500条错误消息,直到我将其改回为止。如何授予PHP对文件系统的写访问权,以便它可以创建文件? 编辑:它托管在使用Apache的Hostgator共享托管上。 编辑2:有人要求输入代码:该代码是GD