API Discussion

6d Blizzard Battle.net Developer Portal Quick Start Guide Whether you're a new developer or one migrating from our old API portal, the following steps will help you get up and running with minimal fuss. Check out the What's changed? section for important details on how the new Developer Portal handles requests and authorization. Quick Start Follow the steps below to begin making API requests. 1. Log in to the Developer Portal or create a Blizzard Account. 2. Create a client on the API Access page. 3. Get your client ID and client secret. Note: Clients may require up to 10 minutes before they can make requests after creation. 4. Make a request. In this example, an application is making a GET /tokenindex request to get the price of a WoW Token. 5. Construct a request URI. Blizzard URI paths follow a standard syntax using this format: {region}.api.blizzard.com/{API path} The URI for this request is: https://us.api.blizzard.com/data/wow/token/?namespace=dynamic-us 6. Get your access token via the OAuth client credentials flow: curl -u {client_id}:{client_secret} -d grant_type=client_credentials https://us.battle.net/oauth/token 7. Finally, make your GET /tokenindex request using that access token: curl -H "Authorization: Bearer {access_token}" https://us.api.blizzard.com/data/wow/token/?namespace=dynamic-us What's changed? We've made the following changes in creating the new developer portal. Host names have changed Requests to the Mashery portal used {region}.api.battle.net. The new developer portal uses {region}.api.blizzard.com. Blizzard APIs now use Access tokens We no longer use API keys; instead, requests use access tokens acquired via either the OAuth client credentials flow or authorization code flow. Expiration time Access tokens expire after 24 hours. What kind of access token do I need? The client credentials flow is used for almost all Blizzard API requests. The authorization code flow currently provides access tokens for the following requests: GET sc2/profile/user GET /wow/user/charactersWhere do I submit an access token? Access tokens submitted as a query parameter follow this format: https://<request URI>/?access_token={token} Access tokens submitted in cURL requests follow this format: curl --header "Authorization: Bearer <access_token>" <REST API URL> Crambone0 6d
Oct 5 Blizzard Battle.net Developer Portal FAQ Why is Blizzard switching to a new developer portal? From a practical standpoint, launching the Blizzard Battle.net Developer Portal brings efficiency to our developer platform, such as converting to Blizzard single-sign on, managing API clients better, and using our existing account security. Our strategy is to build on our developer platform. Our new portal is a native platform that’s setting the foundation for working with you to introduce new ways to create amazing content for our players. Why is Blizzard requiring that my application use OAuth (and not just API key)? OAuth is the industry standard for sensitive data and among the best solutions currently available for external applications. The decision to make OAuth our primary authentication method with our new system was made after much consideration. That said, we are always open to discussion and even changing course for the right reasons. Please share your feedback on this forum. When is the transition to the Blizzard Developer Portal taking place? We’re already asking developers to transition over to the Blizzard Battle.net Developer Portal. The old portal will no longer be available after January 6, 2019. What happens if I don’t move my account over to the Blizzard Developer Portal? If you use Blizzard APIs and don’t transition over to our new developer portal by January 6, 2019, you will no longer be able to authenticate and receive game data from any Blizzard games. Will this affect guild sites and other sites that allow users to log in using their Blizzard Battle.net account? Whether this affects guild and community sites depends on the way the site administrators implemented the ability for users to log in using Blizzard Battle.net credentials. We encourage you to please contact the owner or administrator of the site you’re using and direct them to this post. Is this a platform to develop games for Battle.net; what exactly is the Blizzard Developer Portal? We do not currently support independent game development for Blizzard Battle.net. The Blizzard Battle.net Developer Portal is a single place for our community of app developers to gain access to Blizzard player data and learn about APIs for fan sites or tools for World of Warcraft®, StarCraft II®, and Diablo III®. What is GDPR? The General Protection Data Regulation (GDPR) went into effect on May 25, 2018. If you are not familiar with GDPR and its impact, we recommend contacting your legal department, consult with your Data Protection Officer, or reference the following sites for more information: https://eugdpr.org/ http://www.privacy-regulation.eu/en/index.htm What if my question isn’t answered here? Please go to our Blizzard Battle.net Developer API discussion forum https://us.battle.net/forums/en/bnet/15051532/ for more information.Alerikon0 Oct 5
Oct 1 Announcing our new Developer Portal! Greetings Developers! We’re excited to announce that today we’re releasing the Blizzard Battle.net Developer Portal, a native Blizzard API service. On the new portal, you can find updated documentation and register for access using a Blizzard Account. We see the new portal as the next chapter in our support of community developers, starting a journey where we discover and introduce new ways to create amazing content for our players. Starting today, you can register clients and make API requests through the new portal. Existing clients and APIs from the Mashery portal will continue to work until January 6, 2019. At that time the older portal will be shut down and clients using old credentials will no longer be able to authenticate and receive game data. We recommend getting started by reading our Migration Guide. With the launch of our new portal, you'll see both familiar and new members of our team engaging on the forum. Feel free to say hi and introduce yourself! We're here to help and answer any questions you may have. Cheers!Alerikon1 Oct 1
2d [Showcase] Post your app! No result about to find a "showcase post" investigation on this forum, so I decided to create this thread. (Maybe i missed the post, hope no). First at all, this forum is dedicated to help users of the Battle.net API to perform and fix their projects for Blizzard games communities. I'm really interested to see what you guys created with the Battle.net API (Guilds feeds, Roster management, etc). Template to use: Name: App name URL: App URL or Download link Platform: Web/Mobile/etc Code: Language used (Java, PHP, etc) Functions: The main purpose of your app UPDATE: My project is no more, so I have nothing to share with you guys: <Gym93 2d
1d Community Created Libraries & Resources (updated 2017/03/13) A number of our the developers in our community have put together resources, libraries, and other tools that you may find helpful when developing against the Battle.net APIs. API Forums erorus's RSS blue trackers for the API Discussion and Bug Report forums (post) API Tools By Language PHP Ulminia's OAuth library (post, GitHub) DaPimpShied's Sample API Calls (post) jyggen's Battle.net API lib for PHP 5.4+ (post, GitHub) Acoon's WoW Battle.net Armory API (SourceForge) KwarK's Battle.net API library (GitHub) msuBREAKER's Composer package for the Diablo III API (post, GitHub) AJH's PHPBB extension (post, GitHub) Logans' Blizzard API PHP client (post, GitHub, Packagist) Fireblade's PHP API Reader (post, GitHub) Xklusive's Battle.net API package for Laravel 5 (post, Packagist GitHub) Python Shadow's Django OAuth2 lib (post, GitHub) lockwooddev's Python World of Warcraft Community API Wrapper (Bitbucket) Dorwido's World of Warcraft API module (GitHub) Lazerhawk05's Python wrapper for the SC2 API (post, GitHub) Scala Borak's API Client lib (post, GitHub) HntD's D3 Leaderboard (maybe all-Battle.net) API library (post, GitHub) Java Raffy's WarKit lib - for all your WoW data needs (post 1, post 2, GitHub) Dementhius' OAuth 2.0 library for Android (post, GitHub) Arjun's WoW Community API library (post, GitHub) Puntr's Java wrapper for WoW APIs, wow4j (GitHub) JavaScript Billi's guide for using passport-bnet with multiple regions (post) Gewd's AngualrJS wrapper (post, GitHub) skt's Battle.net API wrapper (GitHub, npm, post) uskimptoc's World of Warcraft API wrapper (GitHub) Crowz's auth package for Meteor JS (GitHub, Atmosphere) C# / .Net KetaSwe's contributed a Battle.net module to OwinOAuthProviders (GitHub) Tok's Diablo III API Wrapper (GitHub) bpfz's strongly-typed C# library for Diablo 3 (GitHub) Hellparsley's strongly typed wrapper for the Diablo III API (site) TiaqoY0's (self-proclaimed) super awesome library (post, GitHub) roncli's strongly typed LibWowAPI (GitHub) NOT MAINTAINED Ruby Frey's Ruby wrapper for Battle.net APIs (GitHub, RubyGems) Milhouse's Ruby wrapper for Battle.net APIs (post, GitHub, RubyGems) Game-specific Resources Hearthstone vamp's hearthstoneapi.com provides a public API (post, site) World of Warcraft Eleadon's spreadsheets for pets, items, realms, spells, and more (post, GitHub) erorus's Random Enchant Suffix List (post, GitHub) erorus's shared info about Battle Pet BreedIDs (post) erorus's table of PvP ladder specs IDs to class and spec name (post) Ulminia's quick guide to exporting WoW icons (post) Ulminia's dump of spell/item icons and talent BGs for 6.0.3 (post) Talonos created a dump of all Battle Pets (post, PasteBin) Ulminia's JSON dictionary to convert enchant IDs to en_US strings (post, Gist) Gluttony's SQL table that maps enchant effectid, spellid, and itemid to slot and name (post, Gist) AresBale's list of item stats (post) MightyOrh's Item Dump (JSON & CSV) (post, DropBox) thedeadwalkk's Item Dump (TXT, SQLite 3) (post, BitBucket) erorus's 6.2 item bonus list dump (Gist, post) dos's SQL table maps enchantIds to descriptions (post, Gist) erorus' map of artifact traits and ranks to spell IDs (post, Gist) vamp's guide for tracking Mythic+ Dungeons (post) erorus' Uncommon Tooltips (post, Github) Game-specific Examples World of Warcraft Kamenitxan's forum signature generator (GitHub) Kamenitxan's HTML guild roster generator (GitHub) AresBale put together a PHP class to help get started with the WoW API (post) Vilepickle created a guild progress widget in PHP (post, GitHub) Throkwa's WordPress plugin for fetching character and Guild data (post, WordPress) Aurifex88 1d
2d GET /account/user has migrated to GET /oauth/userinfo Greetings, Developers! In the course of migrating to the new Developer Portal, the GET /account/user endpoint has migrated to GET /oauth/userinfo. Note that, currently, all OAuth endpoints use {region}.battle.net as their host name and require the OAuth authorization code flow. This includes the following endpoints: • GET /oauth/userinfo • GET /sc2/profile/user • GET /wow/user/charactersCrambone0 2d
4d Simple Mashery Migration Guide I found Blizzard's documentation difficult to understand regarding what's changing in this migration away from Mashery. I put together this document as a reference for current API users in case they needed to see it another way, as I did. https://gist.github.com/erorus/6c08227921ff99d93295fa9f91c7fd70erorus2 4d
Oct 3 Unofficial Blizzard API Discord In an effort to improve the community of 3rd party developers working with the battle.net APIs and provide a platform for more real-time discussion, I've created a Discord server. My hope is that this Discord is used for sharing our experiences with the battle.net APIs, supporting each other in building awesome things using the APIs, and generally discussing related technologies. Invite link: https://discord.gg/CVxtmes This server is not official, nor is it controlled or endorsed by Blizzard. Anybody is welcome to join though!Sapu17 Oct 3
1h How to find the realm ID? Hi, I'm trying to retrieve the Mythic+ leaderboards for the following server/dungeon: https://worldofwarcraft.com/en-gb/game/pve/leaderboards/archimonde/ataldazar The API call I should make is the following one (from https://develop.battle.net/documentation/api-reference/world-of-warcraft-game-data-api): getMythicLeaderboard ... First of all, I have no idea if the mentioned server is "connected realm" and also I have no idea where to find the dungeonId. Can someone please shed some light? Thank youAstronaute2 1h
2h Old API Joomla Extensions Hello dear Community I want to create a website for our guild and list guild members/achievements etc. I stumbled upon those old pre-built extensions for Joomla 3: https://www.z-index.net/en/joomla-world-of-warcraft-extensions.html Unfortunately they do not work. I guess they're not compatible with the new oauth API from Blizzard. But honestly I am not familiar with API's and can't tell. This is the response I get: code 403 type "Forbidden" detail "Account Inactive" The URL of my Sandbox: https://oks.jdevcloud.com/extensiontest Any help appreciated!MorphZ0 2h
7h Wrapper Library for Python (WoW, SC2, D3) Hey guys, I spent the last couple of weeks writing a comprehensive wrapper library called "BlizzPy" for the WoW, SC2, and D3 community APIs for Python developers. You can find the GitHub link and documentation here: https://github.com/lounotlew/BlizzPy As for installation, just run "pip install blizzpy" (or "pip3 install blizzpy"). I finished the project right before the migration happened, so I'll spend the next couple of weeks updating it so it works with the new API endpoints. But until then, BlizzPy works perfectly fine. Also, I'm always open to working with others to expand the library to fit more advanced tasks, so if you'd like to contribute just let me know! Thanks.Lou2 7h
13h BattleTag Character Extension Just feeling like the battletag is some what limited on names for clans and people with Long names on Twitch Youtube etc. In my case my name is 13 Characters long (OneSillyGoose) and the maximum characters is 12. This just makes me sad in trying to keep my name alive in game. Im sure some people would appreciate a few extra characters to get more creative with their own BattleTag. Thank you for you time in reading my topic i hope there can be some sort of change in the future. Thanks again. -OneSillyGooseOhSillyGoose0 13h
23h Old Dev portal run test calls on page The tool from mashy that let us test the api on the dev page was amazing, letting me to rapidly check how the data would look / preview all sorts of things. This functionality would be amazing to have back and on the new one. Thanks! BombTime (TomBomb in discord)BombTime6 23h
1d Internal Server Error 500 EU API I'm getting this on EU some of the time, but not all the time. It's intermittent. Anyone else getting this?Zordiak4 1d
2d OAuth and javascript Hi guys I need your help please. I want an access to leaderboard D3, and for that I must use Oauth. I use javascript language. My code: var params = {"client_id":"<client_id>", "redirect_uri":"<CALLBACK>", "response_type":"code", "scope":"wow.profile+sc2.profile"}; var req = new XMLHttpRequest(); req.open('POST', "https://eu.battle.net/oauth/authorize?client_id=" + params.client_id + "&redirect_uri=" + params.redirect_uri + "&response_type=" + params.response_type + "&scope=" + params.scope + "", true); req.onreadystatechange = function (e) { if (req.readyState == 4) { if (req.status == 200) { window.location = params['state'] } else if (req.status == 400) { alert('There was an error processing the token.') } else { alert('something else other than 200 was returned') } } }; req.send(null); My response: XMLHttpRequest cannot load https://eu.battle.net/oauth/authorize . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin is therefore not allowed access. If you have a little idea to help me thank youDxyz13 2d
2d Can I access calendar data? Hi, I'd like to be able to progamatically get access to the guild calendar events, and wondered if this was possible or not? Would the new OAUTH allow that? I want to see who is signed up for guild raids.Whisperer75 2d
2d Javascript or Ruby guides for using OAuth Hey, I'm a generally new coder (sub 4 months) and I've been working on a Wow app. With the recent change today I can no longer do character statistic calls, like mounts, etc. I'm pretty sure it's because we need to use OAuth now but I really have no idea how to get that set up and the documentation isn't incredibly clear (it says what to do but it doesn't say how to do it, really tough to understand as a beginner). If anyone has some more in-depth guides or ways to still get those calls without OAuth that would be really appreciated, thanks for taking the time to read!Murf0 2d
2d EU Realm Status Missing Realms This was already posted on the bug forum but I'm reposting here for visibility. https://us.battle.net/forums/en/bnet/topic/20769327532 Repeated identical calls, merely seconds apart, are returning very different results from the EU realm status API. URL is: https://eu.api.blizzard.com/wow/realm/status?namespace=dynamic-eu&locale=en_US&access_token=<token> 7 consecutive calls within 15 seconds return results of length 29973, 65918, 38097, 62108, 29973, 37915, 56809. https://does.theapi.work/ will report if its check of the realm list happens to be incomplete on each pass every 10 minutes.erorus1 2d
2d Concerns/Issues with Client Secret Requirement for Community APIs It appears the client_secret is required for any use of the new APIs. This results in several types of applications becoming either 1) invalid under the API terms or 2) overly complex for users and developers. There are two connected questions that many developers are already very worried about, especially with only 3 months before the existing API cutoff: Can I choose to publish my client_secret knowing the risks? Will there be a method to get an access token without a client secret? If so, will this be available before Jan 6, 2019? Off the top of my head, there are several types of applications that are facing these issues: Static website Local application Standalone native application Shared/copyable web application (Google Sheets, Glitch, etc) Basically, any application that doesn't have their own dedicated backend will be facing these issues. To note upfront, the Battle.net authorization for users of these systems does not address these issues as it requires the application to get an access_token which requires the client_secret. Requiring "normal" users to generate and enter their own developer clients is also highly undesirable. As far as I can tell, the risks to exposing your client_secret are rate limit denial of service or unauthorized use of your client. I believe many developers would explicitly choose this tradeoff for the significant simplification for themselves and their users. Many of these applications must use this approach right now and large projects like SimC have not had issues with those vectors of attack. Based on the terms and current API authentication design, many existing applications or app features will not be allowed/possible with the new API system.seriallos18 2d
2d GDPR in new API TOU In your new API Terms of Use listed here: https://develop.battle.net/access/terms-of-use I noticed that you added a few lines regarding the GDPR: ... Specifically regarding that second-to-last line, "You must request explicit consent from all users before sharing their Data with any third party", what data, if any, can we receive from the API for which we must receive consent before sharing with third parties? Do I need to obtain consent from a player before showing their WoW character profile to other players? Do I need consent from a player before listing their character name(s) alongside all the auctions they posted in the auction house? Can you be more specific about what user data we may need to protect and receive consent before sharing?erorus21 2d
3d Any working PHP Library with the new API? I'm looking for a php library that works with the new changes to the API. Anyone know one?Supreme1 3d
3d 403 Url Noob Question Hey all any idea why this url fails? https://us.api.blizzard.com/data/wow/guild/realm-blah/guild-blah/?fields=news I have added the header using python requests lib not sure if my uri structure is correct? Many thanks.reaperconz3 3d
3d [SOLVED] 404 returned for new Account API I'm in the process of migrating my apps to the new endpoints/APIs. Everything is going fine so far, except the OAuth Account API (endpoint /account/user which is documented in the Community API reference https://develop.battle.net/documentation/api-reference/community-oauth-profile-api but for some reason is not mentioned/listed in the OAuth guide https://develop.battle.net/documentation/guides/using-oauth/authorization-code-flow). I have no problem getting a token, however, when I try to access the Account API (to get the user's battle tag), I get a HTTP response of 404. This worked fine using the old API endpoints, and from what I've read in the migration guide and the other docs for the new API, I believe that all I needed to do was update my endpoints and generate new client ids/secrets for my apps. Here is the old and new HTTP requests that I am making: Old endpoint (still works, using old client id/secret): HTTP GET https://us.api.battle.net/account/user?access_token=<token> New endpoint (returns HTTP 404): HTTP GET https://us.api.blizzard.com/account/user?access_token=<token> Dawg61 3d
4d [SOLVED] PHP curl for WoW API has empty string as result Hi all, I want to start a simple small project with the wow API. For testing I just created a single index.php to see how the API works. I get a token, so I think my client id and secret is ok. But the second curl with the token in it always has an empty string as result. What is wrong ? Any ideas? <?php function getToken() { //curl -u {client_id}:{client_secret} -d grant_type=client_credentials https://us.battle.net/oauth/token $client_id = '<my-client-id>'; $client_secret = '<my-client-secret>'; $url = "https://eu.battle.net/oauth/token"; $params = ['grant_type'=>'client_credentials']; $curl = curl_init(); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); curl_setopt($curl, CURLOPT_USERPWD, $client_id.':'.$client_secret); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $result = json_decode(curl_exec($curl)); curl_close($curl); return $result->access_token; } function getRaces($token) { $url = "https://eu.api.blizzard.com/data/wow/character/races"; $authorization = "Authorization: Bearer ".$token; $params = ['namespace'=>'dynamic-eu']; $curl = curl_init(); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization )); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($curl); curl_close($curl); return $result; } $token = getToken(); $test = getRaces($token); var_dump($test); ?> sxbxstxxn3 4d
4d [SOLVED] 403 after migration I have migrated to new version of service, have created new application for using it to get and to aggregate data into google docs spreadsheet. I make a post request to "eu.battle.net/oauth/token?<...>" and get a token, but any request to a guild or character community API with that token responses "403 Account Inactive". What am i doing wrong?iPilot1 4d
4d WoW GDAPI Update: Mythic Challenge Mode + Mythic Keystone Leaderboard Structure Changes Throm-Ka Community Developers! We are planning some changes to the Mythic Keystone leadboard documents that are currently available via the Game Data API, to include the following high level changes: Increase number of leaderboard entries from 100 to 500 Move keystone affix array to the top level leaderboard object Remove localization & name from specialization key Remove localization & name from faction key This change will correspond with the changes discussed in our WoW - Pending Mythic Challenge Mode API Changes thread. Example structure: { "_links": { "self": { "href": <string> } }, "connected_realm": { "href": <string> }, "keystone_affixes": [ { "keystone_affix": { "id": <integer>, "key": { "href": <string> }, "name": { "en_US": <string>, ... } }, "starting_level": <integer> } ], "leading_groups": [ { "completed_timestamp": <integer>, "duration": <integer>, "keystone_level": <integer>, "members": [ { "faction": { "type": <string> }, "profile": { "id": <integer>, "name": <string>, "realm": { "id": <integer>, "key": { "href": <string> }, "slug": <string> } }, "specialization": { "id": <integer>, "key": { "href": <string> } } } ], "ranking": <integer> } ], "map": { "id": <integer>, "name": { "en_US": <string>, ... } }, "map_challenge_mode_id": <integer>, "name": { "en_US": <string>, ... }, "period": <integer>, "period_end": <integer>, "period_start": <integer> } We are aware that the links for Keystone Affix and Character Specialization documents cannot currently be resolved by third party consumers. This change is schedule to go live with the next WoW maintenance on 2018-01-30, however, this date is subject to change.Maguthul8 4d
4d AH owners with no matching profile? To reproduce: 1. Download the AH listings for a realm (in my case, US-Blade's Edge.) 2. Unique the owner+realm field across all the records. 3. For each resulting unique owner, call the character profile API. Observed: 404s on as many as 5 - 10% of the owners. This seems suspiciously high. I could imagine a small error rate for corner cases such as character renamed, character moved servers, player closed account, etc. But it's hard to believe there could be so many of those in play at the same time. My first thought was maybe its a character encoding issue where these names have accents or other unusual styling that I either mishandled on my end or doesn't come through the API. But when I checked the names in-game, I did not find that to be the case either (unless they are invisible there somehow.) Anyway just wondering if anyone else had experienced this and had any clues or advice? This is on the legacy Mashery API for now.Briala2 4d
4d BUG: Client Credential Access Token Expire Currently, when getting the access token via the new OAuth client credential flow, the expires_in time is set to: 86399 seconds; which is 24 hours. However, over the past days, I noticed that the access token does not expire in 24 hours, but rather 48 hours. I kept randomly requesting the client access code throughout those 2 days, and it was the same code until it finally hit 48 hours later or so. Only then, did it return a new access token. Also, it would be great if you would update the expires_in, if you keep giving the same token back if it is not expired; when using the client credential flow. Because, right now it is always 86399 for expires_inRelisa1 4d
4d 404, refresh 2-3 times and 200 Hi, i have a problem for a few hours. I try to get data from io api but i get 404 sometimes. After refreshing the page 2-3 times i get 200 and the data from the api. Anyone knows this probles and how to fix it? Thank you! https://imgur.com/a/X2CVtTuNikkel25 4d
4d api token misunderstood In general the token is simple to get using POSTMAN. Utilizing the url, https://us.battle.net/oauth/token, one can easily add the parameters to the body using form-urlencode. The issue with documentation is there is nothing I can find that says where to attach the token for subsequent requests. An example url here: https://us.api.battle.net/wow/character/{0}/{1}?fields=appearance&locale={2}&apikey={3} This used to be very simple, since passing in the api key is still part of https://dev.battle.net/io-docs documentation. Now I have to fix my code to pass my token? I attempt to do this and get lost. Documentation is borderline Microsoft on how to utilize the API not the OAUTH, which are 2 different things unless I am mistaken. Please provide clear and concise documentation on your API.Xequence3 4d
4d Multiple Clients - Same Application I posed this question in discord recently and was asked to present it here. Say I have a service that runs to collect data.... and a frontend that does other things (like pull character profiles as requested). Would there be any issue with splitting these 2 applications into different clients? Since technically, one of the services uses the data collected from the other service? Thanks!Gluttony3 4d
5d Blizzard RSS Feed For Discord Im trying to setup a Discord server and have it feed relevant info to myself and my members and I was wondering if Blizz had an RSS feed? Ive tried looking and found an older thread but the link to the RSS no longer works. If it doesnt exist thats cool, I wont lose sleep but if it does can someone please post the link. ThanksHockeyBalboa2 5d
5d How to activate your account? Hey all, Not sure if I'm missing something super simple or not, but I'm trying to do a query against the API, and everything looks right, but no matter what I throw at it, I get a 403 Account Inactive reply. Do I need to do something to activate my account? Does it take time to activate? The URL I am querying: https://us.api.battle.net/wow/character/MyServer/MyCharacter?fields=achievements&locale=en_US&apikey=MyAPIKeyxxxxxxxxBrigzzy2 5d
5d An Authentication object was not found in the SecurityContext I'm currently building an app, and my test user was logged out of my site after a few hours. When I go to log back in again, I get a code and state from Battle.net, pass them on to /oauth/token like usual, and instead of getting the access token back, I get: {"error":"unauthorized","error_description":"An Authentication object was not found in the SecurityContext"} An hour or so of slogging through Stack Overflow turned up nothing to indicate what might be the problem on the client side, but lots of things that could be wrong on the server side. So that's why I'm here today. It's quite possible I have done something wrong, though I've completely run out of ideas as to what that might be. I 302-redirect the user to /oauth/authorize, they come back with code= and state= set, and I request a token from /oauth/token. This flow worked when I had not yet authorized the test app, but now results in the above error. I am using PHP 7.0.0 RC7. This is how I redirect the user to Battle.net: function bnet_login() { global $bnet_oauth_url, $bnet_url_auth; $region = $_GET['region']; if (!array_key_exists($region, $bnet_oauth_url)) { wp_die("An unrecognized region was selected. Please select a valid region and try again."); } $_SESSION['BNET']['region'] = $region; if (!$_SESSION['BNET']['redirect_to']) { $_SESSION['BNET']['redirect_to'] = strtok($_SERVER['HTTP_REFERER'], "?"); } $state = bin2hex(openssl_random_pseudo_bytes(16)); $_SESSION['BNET']['state'] = $state; $params = array( 'response_type' => 'code', 'client_id' => BNET_API_KEY, 'scope' => $bnet_scope['WOW'], 'state' => $state, 'redirect_uri' => rtrim(site_url(), '/') . '/', ); $url = "${bnet_oauth_url[$region]}${bnet_url_auth}?" . http_build_query($params); header("Location: $url"); exit; } I then check their state (in a callback) and if it matches, I do the following, wherein I am returned the above error: function bnet_get_access_token() { global $bnet_oauth_url, $bnet_url_token; $region = $_SESSION['BNET']['region']; if (!array_key_exists($region, $bnet_oauth_url)) { bnet_destroy_session(); wp_die("I couldn't find your region. Please select a region and try again."); } $params = array( 'grant_type' => 'authorization_code', 'client_id' => BNET_API_KEY, 'client_secret' => BNET_API_SECRET, 'code' => $_GET['code'], 'redirect_uri' => rtrim(site_url(), '/') . '/', 'scope' => $bnet_scope['WOW'], ); $url_params = http_build_query($params); $url = "${bnet_oauth_url[$region]}$bnet_url_token"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($curl, CURLOPT_TIMEOUT, BNET_API_TIMEOUT); $result = curl_exec($curl); # BOOM!Raimondas3 5d
5d Is the China API down? When I go to https://api.blizzard.com.cn/ I get "ip address not resolved". Is the api down or something?Zordiak2 5d
5d Kind of Lost Greetings all, I am an old (fansite) developer that is still using the old APIs on a resurrected guild website. [ http://www.orderofthesilverhand.us/members.php ] I use the old API to pull our guild info (character data) and dump into our database for multiple usage. I noticed this new Blizzard API email and decided to come back try to migrate. I have read all the information but I think I'm a little outdated (or retarded) with what is going on currently with the migration changes. Am I to understand that the new API (requests) are to be used through OAuth? How can I apply this to my current guild website and do I need to have an HTTPS (SSL) setup on my web server. I am using PHP, HTML, JSON, JQuery and a database - what more will I need to use this OAuth protocol? Thanks much for any patience and information.DaPimpShield2 5d
5d Request to remove my personal information from Blizzard API according to GDRP Let's suppose I want to remove my characters from Blizzard API and worldofwarcraft.com website according to GDRP. I consider my character names my personal information and want to remove it. Is it possible and how do I do that?Kernel5 5d
6d World Quests/ World Boss/ Arathi Highlands info? Hi all, I'm wondering if the API supports those kinds of info I listed in the title. If yes, where is it? I tried finding the the documentation but no luck. If no, I can see those information on wowhead. Where did they find that, or they input it manually/through user contribution? Is there a way a can get that from them? Thanks a bunch, CerCerNagas0 6d
6d SC2 unit/building endpoints I'm excited to see the new developer portal and i'm ready to pounce on the new api's for sc2. I would like to make a request that, it would be nice to have an endpoints for retrieving unit and building stats. I think this would be helpful in breaking down replays and seeing why something went wrong due to unit composition, lack of upgrades, etc. It would also be nice to be able to look at builds and timings and theory-craft from the information provided by the information that could be retrieved by these endpoints.MooCow0 6d
6d Issue with Character Render This seems like it should work, and does on 110=< characters but not 111+ def get_thumbnail_url(self): return 'http://render-%(region)s.worldofwarcraft.com/character/%(path)s' % { 'region': self.region, 'path': self.thumbnail } Pulling character info from the API gives: frostmourne/134/81913734-avatar.jpg using the character # pulling the render/icon/inset secondary. Looking at the example provided: http://render-us.worldofwarcraft.com/character/lightbringer/110/115539310-main.jpg What is the /110/? Looking at another one from the armory - https://render-us.worldofwarcraft.com/character/frostmourne/134/81913734-main.jpg What is the /134/ Pulling several character I find that series to be...random? frostmourne/87/91884375-avatar.jpg frostmourne/45/123340845-avatar.jpg frostmourne/83/109892179-avatar.jpg frostmourne/102/111763046-avatar.jpg frostmourne/167/111945895-avatar.jpg frostmourne/201/112779209-avatar.jpg frostmourne/209/139297745-avatar.jpg frostmourne/196/133572804-avatar.jpg frostmourne/161/123231905-avatar.jpg It's especially odd that it returns results from the preceding render URL. Is that a fallback on the API side? There is something simple that I am just missing here. This is also based on code from 2012 when the API first came out so it's entirely possible there is something redundant pulling the old renders elsewhere that I haven't located. Nice newly released docs site btw. Much gooder. Also, congrats to Honestly on Frostmourne for being Top Alliance Guild when googled and thanks for helping me test the api with your massive achievements!maidao12k3 6d
6d New API location (.blizzard.com) not working for SC2 profiles As per the title, us.api.blizzard.com does not work for SC2 profiles (Only us.api.battle.net works) yet does work for collecting ladder data. Not sure if it's just not been implemented yet or this is a fault.ZephyrBlu3 6d
Oct 7 How to fetch new community APIs? I believe your new documentation is incomplete, to put it kindly. I want to load the information for WoW achievement 2144. What URL do I use? This page says the endpoint is /wow/achievement/:id https://develop.battle.net/documentation/api-reference/wow-community-api The migration guide says the new host is us.api.blizzard.com https://develop.battle.net/documentation/guides/migration-guide It also says that, "Community API requests only require a client ID." This page says, "For authentication instructions and implementation details, see Using OAuth." https://develop.battle.net/documentation/guides/community-apis The OAuth page just talks about "allow Blizzard to handle authentication and receive a unique user ID, then use an access token for allowed resources like World of Warcraft characters, StarCraft II profile data, or other information as appropriate." https://develop.battle.net/documentation/guides/using-oauth I don't care about authenticating a player, I just want info on an achievement. There are no useful error messages. https://us.api.blizzard.com/wow/achievement/2144 just says "404 Not Found" with no response body. I registered for new client ID. Where do I put it? What's the URL argument or header name? Where was this information in the documentation?erorus6 Oct 7
Oct 7 CC flow - regional token works in any region on the community api Hi, I'm updating my python client for the community api using the client credentials flow, and noticed that it's possible to make authorized calls using a token generated from any region on any region. Is this normal behavior?lockwooddev0 Oct 7
Oct 6 New Developer portal and Authenticator Hello! First, I'm very excited that u guys made this. But i faced a problem trying to login. It says that I need to set up Authenticator. It makes sense, cause we work with user data and so on. The problem is, i don't have Android or iOs device and can't install the app. Okay, I tried to order the Auth at https://gear.blizzard.com/, as says this page: https://eu.battle.net/account/management/authenticator.html. But it can't be delivered to Europe. So there's no way to log in except of using Android emulator to install Authenticator from Google Play. So, are you sure that enforcing users to use Authenticator to log in while some users (like me) can't use Authenticator at all?denexapp0 Oct 6
Oct 6 Auctions API and: modifiers, rand, seed Hi, I'm making a private project (I'm a CS student, so I'm just toying around with stuff to improve my programming skills) and I would like to understand a something about auctions API. I do understand, that bonusList is a list of bonuses that get applied to an item, but I don't understand what/how modifiers work. I tried to search here but couldn't find a concrete response. http://us.battle.net/forums/en/bnet/topic/14927203367 - this doesn't explain modifiers, just bonuses. To avoid confusion, I mean this part: {"auc":123,"item":123,"owner":"abc","ownerRealm":"abc","bid":123,"buyout":123,"quantity":1,"timeLeft":"VERY_LONG","rand":0,"seed":0,"context":0,"bonusLists":[{"bonusListId":123},{"bonusListId":123}],"modifiers":[{"type":9,"value":110}]}, Can someone provide me an example/expalantion? Similarly, what does rand and seed represent in context of auctions? Is it something that I don't have to worry about at all, or something I should be aware of? In either case, I'd like to know why are these two variables provided to developers. Thanks a lot.emihir02 Oct 6
Oct 6 WoW Auction API questions I am trying to retrieve the auction house data for particular servers and be able to parse the data, ending with a dump onto the html page. I have no experience with javascript so this is my first exposure to it. I have the code below created and when I try to run it, I receive the error "Uncaught SyntaxError: Unexpected token :". However, I can see the data as a source when I inspect the page. I have read through many forum posts and I believe this to be an issue with CORS (although I have a very vague understanding of CORS). Is there an easier method of retrieving the information other than javascript? Or is my overall method wrong? My existing html file is below, any assistance is appreciated! <html> <body> <div id="myDIV"> AH Server Data </div> <input type="submit" onClick="foo()"/> <script> function foo() { var s = document.createElement("script"); realm = 'Akama' locale = 'en_US' jsonp = 'auction' //output json object apikey = 'MY_API_KEY' newURL = '' String (newURL) url = 'https://us.api.battle.net/wow/auction/data/'+ realm + '?' + 'locale=' + locale + '&jsonp=' + jsonp + '&apikey=' + apikey console.log(url); fetch (url) .then((resp)=> resp.text()) .then(function(resp){ //console.log(resp); String(resp); newURL += resp; console.log(newURL); newURL = newURL.slice(26,127); console.log(newURL) s.src = newURL; document.body.appendChild(s); para = document.createElement("P"); t = document.createTextNode(s.text); para.appendChild(t); document.getElementById("myDIV").appendChild(para); }) } function response(d) { console.log("response", d); } </script> </body> </html>Crazypudu1 Oct 6
Oct 6 Mythic Leader board call returning wrong data for Connected Realm:51 Dungeon:250 Period665 As of today, when making the below call: https://us.api.battle.net/data/wow/connected-realm/51/mythic-leaderboard/250/period/665?namespace=dynamic-us&locale=en_US&access_token= I receive the data from get mythic challenge mode instead of the leader board (res.body below). Is anyone else seeing this? { "_links": { "self": { "href": "https://us.api.battle.net/data/wow/connected-realm/51/mythic-leaderboard/250/period/665?namespace=dynamic-us" } }, "map": { "name": "Temple of Sethraliss", "id": 1877 }, "period": 665, "period_start_timestamp": 1537887600000, "period_end_timestamp": 1538492399000, "connected_realm": { "href": "https://us.api.battle.net/data/wow/connected-realm/51?namespace=dynamic-us" }, "keystone_affixes": [ { "keystone_affix": { "key": { "href": "https://us.api.battle.net/data/wow/keystone-affix/6?namespace=static-8.0.1_27026-us" }, "name": "Raging", "id": 6 }, "starting_level": 4 }, { "keystone_affix": { "key": { "href": "https://us.api.battle.net/data/wow/keystone-affix/4?namespace=static-8.0.1_27026-us" }, "name": "Necrotic", "id": 4 }, "starting_level": 7 }, { "keystone_affix": { "key": { "href": "https://us.api.battle.net/data/wow/keystone-affix/9?namespace=static-8.0.1_27026-us" }, "name": "Tyrannical", "id": 9 }, "starting_level": 10 } ], "map_challenge_mode_id": 250, "name": "Temple of Sethraliss" } falangen3 Oct 6
Oct 5 App cannot access OAuth API from server I have an issue that is causing me to pull my hair out. I published a site in May of this year that uses the battle.net APIs for pulling character information. It also allows users to sign in with the Blizzard account to pull their entire list of characters. This has been working in production until recently. Just after 12:00am GTM on 9/30/2018, my site was no longer able to connect to the https://us.battle.net/oauth/token URL as part of the OAuth process. The specific error I am receiving is typical of the connection being blocked by a firewall or other networking rule: System.Net.Sockets.SocketException A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 24.105.29.40:443. When I run the application locally on my Windows 10 workstation it is able to connect as expected. Which supports my suspicion that it is a networking issue. The hosting provider I am using is Winhost. I have been working with their support, but they say there were no changes to their environment around the time I started experiencing issues. Being a more . . . affordable . . . hosting provider, I'm given to the assumption that their servers are a hotbed of malicious activity. Is it possible that the IP my app is pulling for outbound request is was blocked by Blizzard as part of an attack mitigation? Only the OAuth api endpoint is effected. The app can still connect to the us.api.battle.net APIs for pulling character information. It is also possible that something is failing in the TLS negotiation, but I would expect a different error if that is the case. The server my app is deployed to is supposedly Windows Server 2016 with IIS 10, and the app is compiled with .NET 4.7. Just to be safe, I explicitly enable TLS 1.2 when the app starts up. I'm considering switching hosting providers to Azure or AWS, but in addition to being overkill for a simple .NET app with no SQL backend, the cost is about 4x what I am paying now. And my "buy me a beer" PayPal button has paid for exactly 3 beers since going live 5 months ago :).Delzune5 Oct 5
Oct 5 Same access_token for different client_secret There is button "GENERATE NEW SECRET" in the "Manage Client" panel. So, I did access_token requests with several different client_secret but all received access tokens were the same. Is there some kind bug or everything is fine and it should work in such way?Diavol1 Oct 5
Oct 4 Tushui Pandaren Reputation missing My character is revered with the Tushui Pandaren (id 1353) but whenever I load her data via the API, Tushui Pandaren is missing. Is there a way to get the API to show this reputationAussieEevee2 Oct 4