-
Notifications
You must be signed in to change notification settings - Fork 1
Hanzo55/WoWColdFusionAPI
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
-- WoWColdFusionAPI -- Hey! This is a ColdFusion Component (CFC) which acts as a wrapper to the new World of Warcraft Community Platform API. More to come! Cleanup incoming. USAGE: <cfscript> // INIT (Region is US by default) wow = CreateObject('component','com.blizzard.services.wow').init(cache=application.cache); // uncomment the line below to use your Blizzard Application ID (supply the publicKey and privateKey they give you) //wow = CreateObject('component','com.blizzard.services.wow').init(cache=application.cache,region='us',publicKey='XXXX',privateKey='YYYY'); // example of an INIT as Europe //wow_eu = CreateObject('component','com.blizzard.services.wow').init(cache=application.cache, region='eu'); // example of changing the region after init //wow.setRegion('eu'); // Get all realms wowquery = wow.getRealms(); // Make sure there's no comm. error if (!wowquery.error) { // Show me the status of Deathwing-US WriteOutput('Deathwing-US is up: ' & wowquery.realms.deathwing.status & '<br/>' ); // **NOTE**: from here on out, we'll assume additional queries do not error out; remember that every call to getXXX() can potentially fail due to communication error, etc. // so be sure to check the 'error' key on the returned result. *PS Communication errors are offset a bit by the cache. // Output the realms in JSON format (we'll use an HTML textarea for convenience) WriteOutput('<textarea rows="40" cols="80">' & SerializeJSON(wowquery.realms) & '</textarea><br/>'); // Get a custom list of realms my = wow.getRealms(name='Deathwing,Aerie Peak,Cho''gall'); // you use two single quotes to 'escape' a single quote in CF; doubling the char. is a typical escape sequence // Get a character a = wow.getCharacter(realm='Deathwing', name='Mature', guild=true); // for this call, name means the name of the player, so we use 'realm' to designate the server //WriteOutput('My character''s guild is: ' & a.character.guild.name & ' on ' & a.character.guild.realm & '<br/>'); // Get a Guild some = wow.getGuild(realm='Deathwing',name='Descendants of Draenor',members=true,achievements=true); WriteOutput('The guild: ' & some.guild.name & ' has ' & ArrayLen(some.guild.members) & ' members in it.<br/>'); // You can even gain access to the colors of the guild's tabard WriteOutput('<table border="1" borderColor="' & Right(some.guild.emblem.borderColor,6) & '"><tr><td bgcolor="' & Right(some.guild.emblem.backgroundColor,6) & '"><font color="' & Right(some.guild.emblem.iconColor,6) & '">ICON</font></td></table><br/>'); // Get an Auction House dataset // These are expensive requests, but know that they are cached both on Blizzard's site, via regular json data dumps, and on the WoWColdFusionAPI side, in the cache storage. auctionhouse = wow.getAuctionHouse(realm='Deathwing'); // Get a specific item (my favorite below) item = wow.getItem(49623); WriteOutput('the favorite item of the day is: ' & item.name & '<br/>'); // Here are some misc. utility queries Blizzard provided. Uncomment them if you want to try them out! //races = wow.getCharacterRaces(); //classes = wow.getCharacterClasses(); //gr = wow.getGuildRewards(); //gp = wow.getGuildPerks(); // Some kind of error happened, show it } else { WriteOutput('Some sort of error occurred. ' & wowquery.response); } </cfscript> <!--- hey! don't forget about the custom realms you requested! ---> <cfif NOT wowquery.error> <!--- uncomment these to look at all the data coming back. Uncommenting them all at once will take some time to render ---> <!--- <cfdump var=#wowquery#> ---> <!--- the first query we made, asking for all realms ---> <!--- <cfdump var=#my#> ---> <!--- custom realms ---> <!--- <cfdump var=#a#> ---> <!--- the character request ---> <!--- <cfdump var=#some#> ---> <!--- the guild request ---> <!--- <cfdump var="#auctionHouse#" top="10"> ---> <!--- the AH dump (just show the first 10 auctions for each house, otherwise the dump will timeout) ---> <!--- <cfdump var="#item#"> ---> <!--- the favorite item ---> <!--- <cfdump var=#races# /> <cfdump var=#classes# /> <cfdump var=#gr# /> <cfdump var=#gp# /> ---> <!--- for access to the cache, call this method below ---> <!--- <cfdump var=#wow.dumpCache()#> ---> </cfif> Email me at shawn.a.holmes@gmail.com [[ Hanzo - "Mature" on Deathwing-US ]]
About
WowColdFusionAPI is a ColdFusion Component that acts as a wrapper to the World of Warcraft Community Platform API
Resources
Stars
Watchers
Forks
Packages 0
No packages published