Difference between revisions of "PCGamingWiki:API"
From PCGamingWiki, the wiki about fixing PC games
m (WineGQ was disabled) |
m (Fix) |
||
Line 36: | Line 36: | ||
{{ii}} '''Steam App ID:''' {{Pre|1=https://www.pcgamingwiki.com/api/appid.php?appid=674020}} | {{ii}} '''Steam App ID:''' {{Pre|1=https://www.pcgamingwiki.com/api/appid.php?appid=674020}} | ||
− | <! | + | <!-- Disabled due to Cargo not tracking this property |
{{ii}} '''WineHQ:''' {{Pre|1=https://www.pcgamingwiki.com/api/winehq.php?appid=15482}} | {{ii}} '''WineHQ:''' {{Pre|1=https://www.pcgamingwiki.com/api/winehq.php?appid=15482}} | ||
− | + | --> | |
__NOTOC__ __NOEDITSECTION__ [[Category:PCGamingWiki]] | __NOTOC__ __NOEDITSECTION__ [[Category:PCGamingWiki]] | ||
| |
Latest revision as of 12:19, 12 September 2022
API
This page might not be updated to reflect all available API endpoints or functionality.
MediaWiki API
- As the PCGamingWiki is based on MediaWiki, the built-in MediaWiki API endpoint can be used to access a lot of data. Some MediaWiki extensions we use such as Cargo also exposes their own API actions through the MediaWiki API.
- If you want to retrieve the Cargo table and their columns (e.g. cover image, developer, publisher, release date, etc) of a page, the Cargo Tables page is the go-to place to understanding the structure, while
cargoquery
is the API call you will mostly use. See this example (sandbox). - The API Sandbox can be helpful in figuring the API out, and the Cargo Query page for figuring out Cargo.
- When querying
_pageName
or_pageID
(or any Cargo column that starts with an _ underscore), the fields parts of the query needs to alias it to another name, using e.g.&fields=Infobox_game._pageName=Page
- See the Extension:Cargo/Querying data for even more information about Cargo.
Examples:
- Retrieve some specific Cargo values from the Infobox_game table using its Steam AppID:
https://www.pcgamingwiki.com/w/api.php?action=cargoquery&tables=Infobox_game&fields=Infobox_game._pageName=Page,Infobox_game.Developers,Infobox_game.Released,Infobox_game.Cover_URL&where=Infobox_game.Steam_AppID%20HOLDS%20%221245620%22&format=jsonfm
- If the exact page name is known, it is also possible to retrieve using
_pageName
like so:&where=Infobox_game._pageName%3D"Elden Ring"
- If the exact page name is known, it is also possible to retrieve using
- Find the page ID of a PCGW page using the Cargo Infobox_game.Steam_AppID column:
https://www.pcgamingwiki.com/w/api.php?action=cargoquery&tables=Infobox_game&fields=Infobox_game._pageID%3DPageID%2CInfobox_game.Steam_AppID&where=Infobox_game.Steam_AppID%20HOLDS%20%221245620%22&format=jsonfm
- Retrieve some specific Cargo values from the Infobox_game table using the page ID retrieved earlier:
https://www.pcgamingwiki.com/w/api.php?action=cargoquery&tables=Infobox_game&fields=Infobox_game._pageName=Page,Infobox_game.Developers,Infobox_game.Released,Infobox_game.Cover_URL&where=Infobox_game._pageID%3D%22146683%22&format=jsonfm
- Retrieve the wikitext of the page using the page ID retrieved earlier:
https://www.pcgamingwiki.com/w/api.php?action=parse&format=json&pageid=146683&prop=wikitext
- Retrieve specific Cargo values stored in different tables using its Steam AppID:
https://www.pcgamingwiki.com/w/api.php?action=cargoquery&tables=Infobox_game,Video&fields=Infobox_game._pageName=Page,Infobox_game.Developers,Infobox_game.Released,Infobox_game.Cover_URL,Video.4K_Ultra_HD,Video.HDR,Video.Ultrawidescreen&join_on=Infobox_game._pageID=Video._pageID&where=Infobox_game.Steam_AppID%20HOLDS%20%221245620%22&format=jsonfm
- This example retrieves three values from the Video table as well as four values from the Infobox_game table for a single page.
Redirect API
- Our custom redirect API allows us to redirect incoming users using any registered GOG Product ID or Steam App ID to the relevant PCGamingWiki page.
- Source code
Examples:
- Steam App ID:
https://www.pcgamingwiki.com/api/appid.php?appid=674020