OpenXbox / xbox-webapi-python

A python library to authenticate with Xbox Live via your Microsoft Account and provides Xbox related Web-API.
https://pypi.python.org/pypi/xbox-webapi
MIT License
175 stars 44 forks source link

EDS doesn't work #26

Closed Teve73 closed 3 years ago

Teve73 commented 4 years ago

First off, I'd like to thank everyone involved in this project. This is a great piece of software, stellar job guys & gals.

Now to my problem. I've been playing with the webapi and every endpoint I've tried so far except for the EDS endpoints seems to work fine. When I try using EDS for XBOX One games, I get no results. Here's an example:

URL: https://eds.xboxlive.com/media/en-US/singleMediaGroupSearch?q=sea&maxItems=10&desiredMediaItemTypes=DGame&Domain=Modern Status code: 200 Reason: OK

{
  "ImpressionGuid": "3b1c8e5e-45f4-49c2-9214-2d80e2dddab1"
}

Now, when I do the same search for XBOX 360, it works as expected:

URL: https://eds.xboxlive.com/media/en-US/singleMediaGroupSearch?q=sea&maxItems=10&desiredMediaItemTypes=Xbox360Game&Domain=Xbox360 Status code: 200 Reason: OK

{
  "Items": [
    {
      "MediaGroup": "GameType",
      "MediaItemType": "Xbox360Game",
      "ID": "66acd000-77fe-1000-9115-d802545107fc",
      "Name": "Saints Row 2"
    },
    {
      "MediaGroup": "GameType",
      "MediaItemType": "Xbox360Game",
      "ID": "66acd000-77fe-1000-9115-d80243430833",
      "Name": "RESIDENT EVIL REV."
    },
[cutting output] 
    {
      "MediaGroup": "GameType",
      "MediaItemType": "Xbox360Game",
      "ID": "66acd000-77fe-1000-9115-d8024156091f",
      "Name": "Skylanders SuperChargers Portal Owner's Pack"
    }
  ],
  "Totals": [
    {
      "Name": "GameType",
      "Count": 11
    }
  ],
  "ImpressionGuid": "0e6afc3f-32a2-4129-a276-e1baa9c03a01"
}

This is pretty much the same for every other EDS endpoint I've tried. I've read the API documentation on Microsoft pages, and the webapi appears to be compliant with it. To be honest I'm out of ideas.

Am I doing something wrong here? If anyone can share any pointers I would be very much obliged.

My primary goal is to be able to retrieve game 'title IDs' based on their names/actual titles.

sebj commented 3 years ago

@Teve73 Have you had any luck with the EDS API for Xbox One games since you posted this issue?

folego commented 3 years ago

I have the same issue here. Waiting for more information.

folego commented 3 years ago

I understood that marketplaceId can be the language code + country code (e.j. es-us), and this is updated in the MS documentation. Even using this code, no lucky in have any response for Xbox One Games.

On Tue, Aug 4, 2020 at 7:03 AM Vlad Radulescu notifications@github.com wrote:

I believe this could be related to the fact that each URL now requires a marketplaceId parameter: https://github.com/MicrosoftDocs/xbox-live-docs/blob/60ce05fe97556e3763a1efd6fea9078bbc2ad537/xbox-live-docs-pr/api-ref/xbox-live-rest/uri/marketplace/atoc-reference-marketplace.md

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OpenXbox/xbox-webapi-python/issues/26#issuecomment-668530148, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE5RH7ZVWD3ZNVMIX7TEXWDR67TGNANCNFSM4OD7IA2A .

-- Guilherme Folego

tuxuser commented 3 years ago

Yeah, EDS is not supported for XBox One anymore afaik. However, you can check out this branch: https://github.com/OpenXbox/xbox-webapi-python/tree/feature/store_endpoint

Alternatively: https://github.com/StoreDev/StoreLib

tuxuser commented 3 years ago

EDS is obsolete, please use CatalogProvider