向用户数据添加新的 openTypeExtension 的 post 调用失败并显示 "Resource not found for the segment 'extensions'"

A post call to add a new openTypeExtension to user data fails with "Resource not found for the segment 'extensions'"

我通过向 graphcall 函数添加新操作修改了 sample_flask.py。新的 MSGRAPH.post 调用应该为用户创建一个 openTypeExtension。代码如下:

endpoint = 'me/extensions'
data = {
    "@odata.type": "microsoft.graph.openTypeExtension",
    "extensionName": "com.myorgname.appname",
    "permissions": "guest"
}
graphanswer = MSGRAPH.post(endpoint, headers=headers, data=data).data
print(graphanswer)

完整的端点路径为 https://graph.microsoft.com/v1.0/me/extensions,我也尝试过使用绝对 uid 路径。 Headers 是从源代码中的 get 示例中回收的。这两种情况都会导致以下错误:

{'error': 
    {'code': 'RequestBroker--ParseUri', 
    'message': "Resource not found for the segment 'extensions'.", 
    'innerError': 
        {'request-id': '<omitted>', 'date': '2019-11-20T23:37:40'}
    }
}

我已经检查了 jwt.ms 中的令牌是否有必要的范围,我已经将其提升到 User.ReadWrite.All 并授予了权限。当我在 Graph Explorer 中测试 post 方法时,一切都非常顺利,并且创建了扩展。

这里有明显的错误吗?我一直在阅读与 "resource not found" 错误和 openTypeExtension 相关的所有内容,但到目前为止还没有找到任何相关内容。

一切看起来都正确(Uri、http 方法、方案、令牌等),但我认为您请求中的 content-type header 是 application/x-www-form-urlencoded 而不是 application/json.