是否向Microsoft Sharepoint API发出CURL请求? [英] curl request to Microsoft Sharepoint API?
本文介绍了是否向Microsoft Sharepoint API发出CURL请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
curl -i -H "Authorization: Bearer <some-key-here>" https://mysharepoint.com/_api/web/Lists
我已经阅读了有关authentication and authorization for apps的所有文档,但在本例中,我没有可以注册的"应用程序"。我只需要在睡觉请求中使用某种APIkey。睡觉接口如何这样使用?
非常感谢您对此问题的见解。
推荐答案
创建bash脚本:
$ nano get_access_token.sh
将下一个内容粘贴到其中,将YourTenant
、client_id
、client_secret
更改为您自己的值(您可以在下面Sharepoint的部分中获得)。
wwwauthenticate=$(curl -i -H "Authorization: Bearer" -s "https://YourTenant.sharepoint.com/_vti_bin/client.svc/" | grep -i "www-authenticate")
bearer_realm=$(echo $wwwauthenticate | awk -F"," '{print $1}' | awk -F"=" '{print $2}' | tr -d '"')
app_id=$(echo $wwwauthenticate | awk -F"," '{print $2}' | awk -F"=" '{print $2}' | tr -d '"')
grant_type="grant_type=client_credentials"
cl_id="client_id=c2xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx@$bearer_realm"
cl_secret="client_secret=3zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
res="resource=$app_id/YourTenant.sharepoint.com@$bearer_realm"
url="https://accounts.accesscontrol.windows.net/$bearer_realm/tokens/OAuth/2"
content_type="Conent-Type: application/x-www-form-urlencoded"
access_token=$(curl -X POST -H $content_type --data-urlencode $grant_type --data-urlencode $cl_id --data-urlencode $cl_secret --data-urlencode $res -s $url | awk -F":" '{print $NF}' | tr -d '"}')
echo $access_token
应用适当的权限:chmod 700 get_access_token.sh
您可以通过下一种方式将curl
与该内标识一起使用:
curl -i -H "Authorization: Bearer $(./get_access_token.sh)" -H "Accept: application/json;odata=verbose" -s "https://YourTenant.sharepoint.com/_api/web"
您可以将./
替换为脚本的完整路径。
Sharepoint的部分:
- 注册新应用的方式
将下一个参数保存到文件中的某个位置:
The app identifier has been successfully created. Client Id: 898c898f-89238-43d0-4b2d-7a64c26f386a Client Secret: 4/T+21I1DSoAJdOX9DL1Ne4KssEaP7rqb11gdtskhXn= Title: SomeTitle App Domain: localhost.com Redirect URI: https://localhost.com/default.aspx
通过
将权限应用于此应用- 下面
https://YourTennant.sharepoint.com/sites/SharePointRND/_layouts/15/appinv.aspx
- 将客户端ID:
898c898f-89238-43d0-4b2d-7a64c26f386a
插入到应用ID字段 - 单击查找按钮
将下一个代码粘贴到权限请求XML中(在我的示例中,我只需要
Read
访问,所以我将Right
的值从FullControl
更改为Read
):<AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
- 创建底部按钮点击
- 信任按钮单击
- 下面
Here's Postman related but similar answer
这篇关于是否向Microsoft Sharepoint API发出CURL请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文