1

我通过向 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 路径。标头是从源代码中的 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 方法时,一切都很顺利,并且创建了扩展。

这里有明显的错误吗?我一直在阅读与“找不到资源”错误和 openTypeExtension 相关的所有内容,但到目前为止还没有发现任何相关内容。

4

1 回答 1

0

一切看起来都正确(Uri、http 方法、场景、令牌等),但我认为您请求中的内容类型标头application/x-www-form-urlencoded不是application/json.

于 2019-11-22T18:51:25.217 回答