小编Nik*_*lay的帖子

如何确定剪贴板数据大小?

我在剪贴板中有一个自定义数据格式(由第三方程序放在那里).我使用以下方法从剪贴板中获取数据的大小:

HANDLE data = GetClipboardData(format);
DWORD len = GlobalSize(data);
Run Code Online (Sandbox Code Playgroud)

问题是,我得到的数据大小不正确(实际应该是大约100字节).我的意思是,剪贴板中真实"有效"数据的大小是不同的.此外,我从一个调用到另一个调用获得不同的(!)数据大小(尽管数据本身不会改变).看起来很神秘.我的意思是,如果我只是继续在循环中执行上面的两行,那么对于这种格式,我将在"len"中得到不同的值.

所以我基本上有两个问题......

  1. 为什么"GlobalSize"可能会为同一个数据从一次调用返回非常量值?

  2. 如何以此格式获取剪贴板数据的"实际"数据大小?

先感谢您!

windows clipboard winapi

5
推荐指数
1
解决办法
1732
查看次数

通过图形 API 获取用户照片 - 开始“被政策禁止”

我正在使用 Microsoft Graph API 来获取用户照片。我开始收到“ForbiddenByPolicy”的 403 错误。

这个电话:

https://graph.microsoft.com/v1.0/users/<userid>/photo/$value
Run Code Online (Sandbox Code Playgroud)

现在返回:

{
    "code": "ForbiddenByPolicy",
    "message": "invalid_role",
    "innerError": {
       ....
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,下面的调用仍然会成功并返回用户信息:

https://graph.microsoft.com/v1.0/users/<userid>
Run Code Online (Sandbox Code Playgroud)

直到最近,“照片”通话也运行良好。它对我自己来说仍然工作得很好(但对其他用户来说则不然)。这是 Graph API 的新变化吗?这是 Graph API 中的新错误吗?

同意“User.Read”和“User.BasicRead.All”范围。

---内部错误

{
    "date": "2023-08-14T09:06:26",
    "request-id": "40ed6973-e474-4bfa-872e-5cd5aa55d513",
    "client-request-id": "40ed6973-e474-4bfa-872e-5cd5aa55d513"
}
Run Code Online (Sandbox Code Playgroud)

另一个例子(图形浏览器)

https://graph.microsoft.com/v1.0/users/<somemail>/photo/$value
{
    "error": {
        "code": "ForbiddenByPolicy",
        "message": "invalid_role",
        "innerError": {
            "date": "2023-08-14T09:10:08",
            "request-id": "2552817c-471f-412b-9768-bafd2d5bd437",
            "client-request-id": "53131fc3-c103-9f2e-f5ec-7afa217dbf7d"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

解码令牌(以确保“User.BasicRead.All”存在:

{
  "aud": "00000003-0000-0000-c000-000000000000",
  "iss": "https://sts.windows.net/e2eaf3b1-beaf-47c8-aebd-9ed8150e1671/",
  "iat": 1693391362,
  "nbf": 1693391362,
  "exp": 1693478062,
  "acct": 0,
  "acr": "1",
  "aio": "AVQAq/8UAAAA1MIZNHNfR80E6+9zD4ufcmxQJq9szF5kKTaUqYE9Grp415NSwIu8N6cUoKBt7YwAlacVWbAGujJVQ8fmD2xmbe7X0UXw/a9LpSKmWG/KDJw=",
  "amr": [
    "pwd", …
Run Code Online (Sandbox Code Playgroud)

microsoft-graph-api

5
推荐指数
1
解决办法
1158
查看次数

WopiTestFrame 不起作用 - WOPI 主机实现

根据文档,Office Online Server 2016 包含一个 WOPI 验证应用程序:

http://wopi.readthedocs.io/en/latest/build_test_ship/validator.html 在此处输入图片说明

请注意,服务器本身工作正常(可以查看和编辑文档 - 没问题)。只是这个“WOPI 测试”的东西不存在。有没有人真的试图调用测试页 - 意思是,这个该死的测试页真的对任何人都有效吗?!Google 搜索提供了 6 个页面,其中 3 个参考了上面的链接,另外 3 个是垃圾 :)

我的问题是,如果您按照文档进行操作,您总是会遇到错误“我们很抱歉。发生错误。我们已经为服务器管理员记录了错误。”

问题是,这个错误并没有真正记录在任何地方(ULS 日志和事件日志是全新的)。

真正的原因似乎是页面本身(“WopiTestFrame.aspx”)不存在。我如何让它在那里?

该页面在 /hosting/discovery 中列出为可用: 在此处输入图片说明

ms-office ms-wopi

2
推荐指数
1
解决办法
652
查看次数