GithubHelp home page GithubHelp logo

tectors / epicgraphql Goto Github PK

View Code? Open in Web Editor NEW
37.0 3.0 6.0 19.55 MB

Research about the Epic's non-documented Graphql API and main API, using Fiddler and Developer Tools to find requests and add them.

License: MIT License

Python 67.81% JavaScript 32.19%
epic games fortnite party hub graphql epic-games

epicgraphql's Introduction

epicgraphql's People

Contributors

pirica avatar tectors avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

epicgraphql's Issues

Can I retrieve status of friends on Fortnite using GraphQL?

Hello!

I started working on my own little program that monitors the online status of my friend groups. Is it possible to retrieve whether someone I am friends with is online on Fortnite using GraphQL?

So far, I am exploring (using fiddler classic) some graphql endpoints and have seen the following (abbreviated) query that may be what I am looking for:

query friends($displayNames: Boolean) {
Friends {
summary(displayNames: $displayNames) {
friends {
account {
id
displayName
displayNameType
externalAuths {
type
externalAuthId
externalAuthIdType
externalDisplayName
authIds {
id
type
__typename
}
__typename
}
__typename
}
__typename
}
incoming {
account {
id
displayName
displayNameType
externalAuths {
type
externalAuthId
externalAuthIdType
externalDisplayName
authIds {
id
type
__typename
}
__typename
}
__typename
}
__typename
}
outgoing {
account {
id
displayName
displayNameType
externalAuths {
type
externalAuthId
externalAuthIdType
externalDisplayName
authIds {
id
type
__typename
}
__typename
}
__typename
}
__typename
}
blocklist {
account {
id
displayName
displayNameType
externalAuths {
type
externalAuthId
externalAuthIdType
externalDisplayName
authIds {
id
type
__typename
}
__typename
}
__typename
}
__typename
}
__typename
}
__typename
}
}

Sorry for the bad formatting. There are four items under summary: friends, incoming, outgoing, blocked. They mostly share the same fields. I have tried poking around and guessing what the online status would be called. I have tried "isLoggedOn" and "minorStatus". They are legitimate fields but not what I am looking for. "isOnline" and "status" do not work.

So is possible to find the online status of friends? Maybe it's not available via graphql?

Thank you!

Question about games details in graphql

Hey :)
Let me start with saying that it's really great to have those resources available here, good job ๐Ÿ‘
I have a question about quering epic games with graphql: Catalog -> searchStore

I'm using the following query:

     query {
              Catalog {
                searchStore(
                  locale: "en-US"
                  category: "games/edition/base"
                  country: "PL"
                  sortBy: "releaseDate"
                  sortDir: "DESC"
                  start: 1699
                  count: 1
                ) {
                  elements {
                    title
                    id
                    releaseDate
                    namespace
                    description
                    effectiveDate
                    keyImages {
                      type
                      url
                    }
                    currentPrice
                    seller {
                      id
                      name
                    }
                    productSlug
                    urlSlug
                    url
                    tags {
                      id
                    }
                    items {
                      id
                      namespace
                    }
                    customAttributes {
                      key
                      value
                    }
                    categories {
                      path
                    }
                    catalogNs {
                      mappings(pageType: "productHome") {
                        pageSlug
                        pageType
                      }
                    }
                    offerMappings {
                      pageSlug
                      pageType
                    }
                  }
                }
              }
            }

GraphQL schema provided in this github page works, but i'm trying to get some more info about the game im quering, stuff like:

  • system requirements for each game
  • developers (not publishers)
  • platforms (windows, linux, mac ect)

I've tried getting schema by

{
  __schema {
    queryType {
      fields {
        name
      }
    }
  }
}

but it seems like they have this feature turned off.
I've tried to guess the schema, fields like 'requirements', 'system', 'technicalDetails' ect. but i can't seem to be able to get those.
I'm fairy certain that this info exists in schema (based on the fact that it is displayed in the store web page).

What do You think can i do to make some progress in this?

PS.
Your discord link is expired i think :-)

Graphql -> GraphQL

It kinda bothers me enough to make an issue about it. I think this is how most would write GraphQL. Also, I have a collection epicgames graphql queries and mutations from 2020, I could share with you. DM me, if you want: revadike[at]outlook[dot]com.

Upcoming promotions

Apparently, some people have been able to get upcoming promotions using the API.
This should allow to have a peek at upcoming free games.

I imagine this is done with https://github.com/Tectors/EpicGraphql/blob/main/docs/graphql/catalog/searchStoreQuery.graphql

However, when I try, e.g. with this request:

https://www.epicgames.com/graphql?query={%20Catalog%20{%20searchStore%20{%20paging%20{count%20total}%20elements%20{%20title%20promotions%20{upcomingPromotionalOffers%20{%20promotionalOffers%20{startDate}%20}}%20}%20}%20}%20}

then:

  • there are 403 Forbidden errors

"{"errorCode":"errors.com.epicgames.common.missing_permission","errorMessage":"Sorry your login does not posses the permissions 'priceengine:shared:promotionrule READ' needed to perform the requested operation","messageVars":["priceengine:shared:promotionrule","READ"],"numericErrorCode":1023,"originatingService":"com.epicgames.priceengine.public","intent":"prod","errorStatus":403}"

  • the promotions are null.

I think this is what you warned about in https://github.com/Tectors/EpicGraphql/tree/main/docs/graphql#authorization
I have only discovered your repository now so I need to try what you mention in the README regarding the authorization.

Before that, I was:

  • either spying on the requests made by browsing the store with Firefox dev tools,
  • or more recently checking this unofficial API documentation to access Epic API with Python.

Would you have any idea how upcoming promotions could be accessed despite the authorization error?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.