microsoftgraph / microsoftgraph/msgraph-sdk-java

@microsoft.graph.sharedChanged annotation not set on folders in delta query with deltashowsharingchanges

Đang mở
#2,548 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Java
Star
444
Fork
154
Merge trung bình
18 giờ 28 phút
Pull request đã merge (30 ngày)
4

Mô tả

Description

When using the delta query API with Prefer: deltashowremovedasdeleted, deltatraversepermissiongaps, deltashowsharingchanges headers, the @microsoft.graph.sharedChanged OData annotation is only set on files, never on folders — even when folders appear in the delta response with a shared facet.

This is an API behavior issue, not SDK-specific, but we're filing here as the docs repo has issues disabled.

Steps to reproduce

  1. Get a latest delta token:

    GET /drives/{drive-id}/root/delta?token=latest
    Headers: Prefer: deltashowremovedasdeleted, deltatraversepermissiongaps, deltashowsharingchanges
    
  2. Share a file located inside a folder hierarchy (e.g., root/folder/sub-folder/sample.jpg) with a specific user.

  3. Query delta with the token from step 1:

    GET /drives/{drive-id}/root/delta?token={token}
    Headers: Prefer: deltashowremovedasdeleted, deltatraversepermissiongaps, deltashowsharingchanges
    

Actual result

The response contains 4 items. Only the file has @microsoft.graph.sharedChanged, the parent folders do not:

FOLDER root       — @microsoft.graph.sharedChanged: NOT PRESENT
FOLDER folder     — @microsoft.graph.sharedChanged: NOT PRESENT, shared: {scope: users}
FOLDER sub-folder — @microsoft.graph.sharedChanged: NOT PRESENT
FILE   sample.jpg — @microsoft.graph.sharedChanged: true, shared: {scope: users}

Expected result

Per the documentation:

"all items that appear in the delta query response due to permission changes have the @microsoft.graph.sharedChanged: True OData annotation"

Parent folders that appear as hierarchy context (not due to their own permission change) should either:

  • Have @microsoft.graph.sharedChanged set when they are directly shared, OR
  • Be excluded from the response when they are only hierarchy context

Currently, folders never receive the annotation regardless of whether they were directly shared or appear as parent hierarchy. This makes it impossible to distinguish parent folder noise from real folder permission changes.

Additional testing

Tested all header combinations against the same delta token:

Headers Result
deltashowremovedasdeleted, deltatraversepermissiongaps, deltashowsharingchanges 4 items, annotation only on file
Same + hierarchicalsharing Identical 4 items
Same + deltaExcludeParent: true Identical 4 items
Only deltashowsharingchanges Identical 4 items
No Prefer headers 0 items

Environment

  • API version: v1.0
  • Authentication: Application permissions (client credentials)
  • Service: SharePoint Online

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Không xác định được tệp nào trong repository hoặc bài kiểm thử nào; hãy bắt đầu với endpoint /drives/{drive-id}/root/delta đã được ghi chép và các header Prefer được liệt kê, sử dụng chuỗi token được cung cấp để tái hiện phản hồi gồm bốn mục. Được xem là hoàn tất khi hành vi của dịch vụ hoặc tài liệu của dịch vụ phân biệt rõ ràng các thư mục được chia sẻ trực tiếp với các thư mục chỉ có trong hệ thống phân cấp, đồng thời hành vi chú thích dự kiến đã được xác minh.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Lĩnh vực
api, cloud
Loại issue
Lỗi
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.