gpt4 book ai didi

python - 调用 MS Graph API 收集在线 MS 表单响应

转载 作者:行者123 更新时间:2023-12-05 01:32:14 24 4
gpt4 key购买 nike

是否有解决方案可以通过 MS Graph API 从共享的在线 MS 表单收集响应?

我将 MS Graph API 用于其他目的,即访问 OneDrive 中的个人/共享文件。
我找不到直接的解决方案来访问在线表单。微软提出了一些请求,他们回应说该选项已积压。我想知道是否有替代解决方案可以通过 API 访问共享的在线 MS 表单?

最佳答案

不幸的是,没有图形 API 可以执行相同的操作。

我能想到两种选择:

选项 1:

您可以使用 LogicAPP 或 Power Automate(以前称为 MS Flow)维护自己的表单响应数据源

enter image description here

只要为表单记录了新的响应以及响应中已填写的数据,就会调用此触发器。

这样,您可以将此响应导出到存储在 OneDrive、Sharepoint、Azure 存储等中的 CSV 文件中(附加到现有响应)。这样您就可以在需要时通过 Graph API 使用此 CSV。

或将响应作为列表项添加到 Sharepoint Online 列表。您可以通过Graph API获取列表项。

https://learn.microsoft.com/en-us/graph/api/resources/listitem?view=graph-rest-1.0

选项 2:

注意:如果您在非 Web 应用程序中执行操作,此方法可能适合。

既然你正在尝试通过Python来实现你的目标。我认为您可以将 Selenium 用于 WebBrowser。

获取答案响应的 API 如下:

GET https://forms.office.com/formapi/api/<tenantid>/users/<userid>/light/forms('<formid>')/responses?$expand=comments&$top=7&$skip=0 

上述请求的响应示例:

enter image description here

这里的问题是,目前无法获取上述 API 的访问 token 。 (据我研究)

所以我所做的解决方法是使用 Selenium。

例如 - 使用 ChromeDriver 和 Selenium 库来自动执行以下过程:

您可以引用这篇文章https://www.browserstack.com/guide/python-selenium-to-run-web-automation-test了解如何使用 python-chrome 实现浏览器自动化。

第 1 步:自动登录 https://forms.office.com 。此步骤将为 session 创建必要的 cookie 来访问表单 api

第 2 步:现在在同一 session 中点击 api

GET https://forms.office.com/formapi/api/<tenantid>/users/<userid>/light/forms('<formid>')/responses?$expand=comments&$top=7&$skip=0 

您将得到输出作为响应: enter image description here

可以对其进行评估并随后用于处理。

关于python - 调用 MS Graph API 收集在线 MS 表单响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65697550/

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