Tài liệu Steamworks
Interface IPublishedFileService
Cung cấp thêm các phương thức để tương tác với vật phẩm Steam Workshop.

Xem ISteamRemoteStorage dùng cho interface chính, cũng như ICloudService.

LƯU Ý: Đây là interface dịch vụ, các phương thức trong interface này nên được gọi với tham số input_json.

Để biết thêm thông tin về cách sử dụng API Web Steamworks, vui lòng xem Tổng quan về Web API.

Delete

GET https://api.steampowered.com/IPublishedFileService/Delete/v1/
TênLoạiBắt buộcMô tả
keystringAPI Web Steamworks - Khóa xác thực người dùng.
publishedfileiduint64Vật phẩm cần xóa
appiduint32App mà vật phẩm thuộc về

Xóa một vật phẩm.

LƯU Ý: Lệnh gọi này phải có khóa API từ nhà phát hành để dùng phương thức này. Vì vậy, API này PHẢI được gọi từ máy chủ bảo mật và không bao giờ được sử dụng trực tiếp bởi client!

QueryFiles

GET https://api.steampowered.com/IPublishedFileService/QueryFiles/v1/
TênLoạiBắt buộcMô tả
keystringAPI Web Steamworks - Khóa xác thực người dùng.
query_typeuint32IPublishedFileService#EPublishedFileQueryType
pageuint32Trang hiện tại. Giới hạn tối đa hiện tại là 1000.
cursorstringCon trỏ để phân trang kết quả (đặt là '*' cho yêu cầu đầu tiên). Ưu tiên dùng cách này thay vì tham số page, vì nó cho phép bạn phân trang chi tiết hơn. Khi sử dụng, tham số page sẽ bị phớt lờ. Dùng giá trị "next_cursor" trả về trong phản hồi để thiết lập truy vấn tiếp theo và nhận bộ kết quả kế tiếp.
numperpageuint32(Không bắt buộc) Số lượng kết quả mà mỗi trang trả về.
creator_appiduint32App tạo ra các file
appiduint32App dùng các file
requiredtagsstringCác nhãn cần phải khớp. Xem tham số match_all_tags bên dưới
excludedtagsstring(Không bắt buộc) Các nhãn KHÔNG được nằm trong file phát hành để thỏa truy vấn.
match_all_tagsboolNếu true, vật phẩm phải có toàn bộ nhãn được chỉ định, nếu không thì chúng phải có ít nhất một nhãn trong số đó.
required_flagsstringFlag bắt buộc phải được đặt trên bất kỳ vật phẩm nào trả về
omitted_flagsstringFlag bắt buộc phải không được đặt trên bất kỳ vật phẩm nào trả về
search_textstringVăn bản cần khớp trong tên hay mô tả của vật phẩm
filetypeuint32IPublishedFileService#EPublishedFileInfoMatchingFileType
child_publishedfileiduint64Tìm tất cả vật phẩm có liên kết với vật phẩm chỉ định.
daysuint32Nếu query_type là k_PublishedFileQueryType_RankedByTrend, thì đây là số ngày để nhận bầu chọn cho [1,7].
include_recent_votes_onlyboolNếu query_type là k_PublishedFileQueryType_RankedByTrend, thì giới hạn bộ kết quả để chỉ bao gồm vật phẩm có lượt bầu chọn trong khoảng ngày được chọn
cache_max_age_secondsuint32Cho phép trả về dữ liệu cũ trong số giây được chỉ định.
languageint32Ngôn ngữ dùng để tìm kiếm, cũng như của kết quả trả về. Mặc định là English (tiếng Anh).
required_kv_tags{message}Cần các nhãn có dạng khóa-giá trị để khớp.
totalonlybool(Không bắt buộc) Nếu true, chỉ trả về tổng số file thỏa truy vấn này.
ids_onlybool(Không bắt buộc) Nếu true, chỉ trả về id file đã phát hành của các file thỏa truy vấn này.
return_vote_databoolTrả về dữ liệu bầu chọn
return_tagsboolTrả về các nhãn trong chi tiết file
return_kv_tagsboolTrả về các nhãn có dạng khóa-giá trị trong chi tiết file
return_previewsboolTrả về ảnh xem trước và chi tiết video trong chi tiết file
return_childrenboolTrả về id vật phẩm con trong chi tiết file
return_short_descriptionboolĐiền vào trường short_description thay vì file_description
return_for_sale_databoolTrả về thông tin giá, nếu phù hợp
return_metadataboolĐiền metadata
return_playtime_statsuint32Trả về số liệu thời gian chơi cho số ngày chỉ định trước ngày hôm nay.

Thực hiện truy vấn tìm kiếm cho các file đã phát hành
LƯU Ý: Dù bạn có thể truy vấn bằng các tham số "filetype" (IPublishedFileService#EPublishedFileInfoMatchingFileType), kết quả sẽ chứa một giá trị "file_type". Giá trị đó sẽ tương ứng với ISteamRemoteStorage#EWorkshopFileType

SetDeveloperMetadata

POST https://partner.steam-api.com/IPublishedFileService/SetDeveloperMetadata/v1/
TênLoạiBắt buộcMô tả
keystringAPI Web Steamworks - Khóa xác thực nhà phát hành.
publishedfileiduint64
appiduint32
metadatastring

Đặt metadata cho nhà phát triển trên file đã phát hành

LƯU Ý: Lệnh gọi yêu cầu có khóa API từ nhà phát hành để dùng phương thức này. Vì vậy, API này PHẢI được gọi từ máy chủ bảo mật và không bao giờ được sử dụng trực tiếp bởi client!

UpdateAppUGCBan

POST https://partner.steam-api.com/IPublishedFileService/UpdateAppUGCBan/v1/
TênLoạiBắt buộcMô tả
keystringAPI Web Steamworks - Khóa xác thực nhà phát hành.
steamiduint64SteamID của người dùng
appiduint32
expiration_timeuint32Mốc thời gian Unix khi lệnh cấm kết thúc, 0 để gỡ bỏ
reasonstringLý do người dùng bị cấm. Sẽ được hiển thị tới người dùng.

Thêm/cập nhật/xóa lệnh cấm UGC của người dùng trong ứng dụng. Đặt expiration_time = 0 để gỡ bỏ lệnh cấm.

LƯU Ý: Lệnh gọi yêu cầu có khóa API từ nhà phát hành để dùng phương thức này. Vì vậy, API này PHẢI được gọi từ máy chủ bảo mật và không bao giờ được sử dụng trực tiếp bởi client!

UpdateBanStatus

POST https://partner.steam-api.com/IPublishedFileService/UpdateBanStatus/v1/
TênLoạiBắt buộcMô tả
keystringAPI Web Steamworks - Khóa xác thực nhà phát hành.
publishedfileiduint64
appiduint32
bannedbool
reasonstringLý do vật phẩm bị cấm. Chỉ thấy được bởi quản trị viên.

Cập nhật trạng thái cấm trên file đã phát hành

LƯU Ý: Lệnh gọi yêu cầu có khóa API từ nhà phát hành để dùng phương thức này. Vì vậy, API này PHẢI được gọi từ máy chủ bảo mật và không bao giờ được sử dụng trực tiếp bởi client!

UpdateIncompatibleStatus

POST https://partner.steam-api.com/IPublishedFileService/UpdateIncompatibleStatus/v1/
TênLoạiBắt buộcMô tả
keystringAPI Web Steamworks - Khóa xác thực nhà phát hành.
publishedfileiduint64
appiduint32
incompatiblebool

Cập nhật trạng thái không tương thích trên file đã phát hành. Vật phẩm "Incompatible" (không tương thích) được ẩn khỏi trung tâm cộng đồng và hồ sơ người dùng, nhưng vẫn có thể truy cập bằng đường dẫn trực tiếp.

LƯU Ý: Lệnh gọi yêu cầu có khóa API từ nhà phát hành để dùng phương thức này. Vì vậy, API này PHẢI được gọi từ máy chủ bảo mật và không bao giờ được sử dụng trực tiếp bởi client!

UpdateTags

POST https://partner.steam-api.com/IPublishedFileService/UpdateTags/v1/
TênLoạiBắt buộcMô tả
keystringAPI Web Steamworks - Khóa xác thực nhà phát hành.
publishedfileiduint64
appiduint32
add_tagsstringNhãn để thêm
remove_tagsstringNhãn để gỡ bỏ

Cập nhật nhãn trên file đã phát hành. Các nhãn hiện có sẽ không bị gỡ bỏ, trừ khi được chỉ định trong tham số remove_tags.

LƯU Ý: Lệnh gọi này phải có khóa API từ nhà phát hành để dùng phương thức này. Vì vậy, API này PHẢI được gọi từ máy chủ bảo mật và không bao giờ được sử dụng trực tiếp bởi client!

Enum

Đây là các enum được định nghĩa để dùng với ISteamRemoteStorage.

EPublishedFileQueryType

Các cách để bạn truy vấn vật phẩm UGC.

TênGiá trị
k_PublishedFileQueryType_RankedByVote0
k_PublishedFileQueryType_RankedByPublicationDate1
k_PublishedFileQueryType_AcceptedForGameRankedByAcceptanceDate2
k_PublishedFileQueryType_RankedByTrend3
k_PublishedFileQueryType_FavoritedByFriendsRankedByPublicationDate4
k_PublishedFileQueryType_CreatedByFriendsRankedByPublicationDate5
k_PublishedFileQueryType_RankedByNumTimesReported6
k_PublishedFileQueryType_CreatedByFollowedUsersRankedByPublicationDate7
k_PublishedFileQueryType_NotYetRated8
k_PublishedFileQueryType_RankedByTotalUniqueSubscriptions9
k_PublishedFileQueryType_RankedByTotalVotesAsc10
k_PublishedFileQueryType_RankedByVotesUp11
k_PublishedFileQueryType_RankedByTextSearch12
k_PublishedFileQueryType_RankedByPlaytimeTrend13
k_PublishedFileQueryType_RankedByTotalPlaytime14
k_PublishedFileQueryType_RankedByAveragePlaytimeTrend15
k_PublishedFileQueryType_RankedByLifetimeAveragePlaytime16
k_PublishedFileQueryType_RankedByPlaytimeSessionsTrend17
k_PublishedFileQueryType_RankedByLifetimePlaytimeSessions18
k_PublishedFileQueryType_RankedByInappropriateContentRating19
k_PublishedFileQueryType_RankedByBanContentCheck20
k_PublishedFileQueryType_RankedByLastUpdatedDate21

EPublishedFileInfoMatchingFileType

Cách để một file được chia sẻ có thể được truy vấn bởi QueryFile.

TênGiá trịMô tả
k_PFI_MatchingFileType_Items0Vật phẩm.
k_PFI_MatchingFileType_Collections1Bộ sưu tập các vật phẩm Workshop.
k_PFI_MatchingFileType_Art2Tranh ảnh.
k_PFI_MatchingFileType_Videos3Video.
k_PFI_MatchingFileType_Screenshots4Ảnh chụp.
k_PFI_MatchingFileType_CollectionEligible5Vật phẩm có thể đưa vào trong bộ sưu tập.
k_PFI_MatchingFileType_Games6Không dùng.
k_PFI_MatchingFileType_Software7Không dùng
k_PFI_MatchingFileType_Concepts8Không dùng
k_PFI_MatchingFileType_GreenlightItems9Không dùng
k_PFI_MatchingFileType_AllGuides10Hướng dẫn.
k_PFI_MatchingFileType_WebGuides11Hướng dẫn web Steam.
k_PFI_MatchingFileType_IntegratedGuides12Hướng dẫn tích hợp với ứng dụng.
k_PFI_MatchingFileType_UsableInGame13
k_PFI_MatchingFileType_Merch14Sản phẩm workshop được bầu chọn với mục đích đăng bán
k_PFI_MatchingFileType_ControllerBindings15Cách gán phím cho Steam Controller.
k_PFI_MatchingFileType_SteamworksAccessInvites16Được dùng nội bộ.
k_PFI_MatchingFileType_Items_Mtx17Vật phẩm workshop có thể bán trong trò chơi.
k_PFI_MatchingFileType_Items_ReadyToUse18Vật phẩm workshop có thể dùng được ngay bởi người dùng.
k_PFI_MatchingFileType_WorkshopShowcase19
k_PFI_MatchingFileType_GameManagedItems20Quản lý hoàn toàn bởi trò chơi, không phải bởi người dùng, và không hiện trên web.