如何从 Moodle 中发送 Session ID 参数?

How to send Session ID parameter out FROM Moodle?

我需要将用户特定的值发送到外部系统来自 Moodle。我如何强制 Moodle 将会话 ID(或用户 ID、activity ID 等)发送到该第三方系统?那里的所有文章似乎都是为了调用 into Moodle 而写的,但这不是我需要做的。

重要: 我无法更改 Moodle 安装。解决方案必须只涉及编辑内容。这意味着我无法编写新插件或更改任何 Moodle 源代码。

编辑:
我确实可以从单独的外部 API 直接访问 Moodle 数据库。目标是使用此连接来验证传入参数。但是,我仍然需要能够构造一个参数化的 URL 来调用外部应用程序。然后,该应用程序将能够根据数据库验证提供的值。如果会话 ID 不可用,那么我需要通过参数化 URL.

发送有关页面、用户、模块等的值

session id 是指当前用户会话吗? $_SESSION['USER']->sesskey 中存储了一个会话密钥,但它不是真正有用的数据。它在用户注销时过期。

$_SESSION 是服务器端,因此您需要使用 PHP 出于安全原因不允许在内容中使用的代码。

您可以访问数据库吗?您可以从那里提取用户 ID 和 activity ID。否则,您将需要使用 API 或插件。

编辑:有一个 URL activity 可以用来向外发送数据。但这需要用户单击 link.

数据包括用户和课程 ID。

https://docs.moodle.org/311/en/URL_resource_settings

我想不出有什么解决方案可以在不编写一些 PHP 代码或添加插件的情况下向外部发送数据。

您可以通过站点管理 > 外观 > 附加 HTML 将 javascript 添加到每个页面,但没有 PHP.

会话变量不可用

https://docs.moodle.org/311/en/Header_and_footer