为 Intune approveApps 执行对 Microsoft Graph Api 的调用

Perform call to Microsoft Graph Api for Intune approveApps

我正在努力使 Intune 自动化以执行托管 Google Play 应用程序批准,我一直在参考的 API 文档位于此处: https://docs.microsoft.com/en-us/graph/api/intune-androidforwork-androidmanagedstoreaccountenterprisesettings-approveapps?view=graph-rest-beta

approveApps 的要求与 syncApps 几乎相同: https://docs.microsoft.com/en-us/graph/api/intune-androidforwork-androidmanagedstoreaccountenterprisesettings-syncapps?view=graph-rest-beta

我可以成功调用 syncApps,但 approveApps returns BadRequest。调用之间的唯一区别似乎是 body 要求。 它需要 packageIds 作为字符串 collection 和 approveAllPermissions 作为布尔值。

请帮我成功制作一个post到https://graph.microsoft.com/beta/deviceManagement/androidManagedStoreAccountEnterpriseSettings/approveApps

最小可重现代码:

    var authHeader = {
      Authorization: `Bearer ${accessToken}`,
      "Content-Type": "application/json"
    };

    var appApprovePostData = JSON.stringify({
      packageIds: ["com.bundle.example"],
      approveAllPermissions: true
    });

    var appApproveOptions = {
      method: "POST",
      uri:
        "https://graph.microsoft.com/beta/deviceManagement/androidManagedStoreAccountEnterpriseSettings/approveApps",
      headers: authHeader,
      body: appApprovePostData
    };
    response = await request(appApproveOptions);

一些想法 -

  1. 如果你得到一个RequestID,你能post吗?
  2. 您能否将 Azure Portal(F12 开发人员模式获取请求主体跟踪)提交的请求主体用于同一应用程序批准与代码生成的请求主体进行比较?

戴夫

申请前需加上"app:"。因此,在您的示例中,您需要

var appApprovePostData = JSON.stringify({
  packageIds: ["app:com.bundle.example"],
  approveAllPermissions: true