{"id":28003731,"url":"https://github.com/w9jds/blizzardgo","last_synced_at":"2025-10-23T22:30:05.119Z","repository":{"id":147898648,"uuid":"189781464","full_name":"w9jds/blizzardgo","owner":"w9jds","description":"Golang package for authenticating and communicating with Blizzard's APIs","archived":false,"fork":false,"pushed_at":"2019-06-07T05:18:20.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-09T07:34:54.839Z","etag":null,"topics":["api","blizzard","golang","oauth","package"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/w9jds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-01T22:05:19.000Z","updated_at":"2019-07-11T09:26:12.000Z","dependencies_parsed_at":"2023-05-27T21:00:14.814Z","dependency_job_id":null,"html_url":"https://github.com/w9jds/blizzardgo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/w9jds/blizzardgo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fblizzardgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fblizzardgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fblizzardgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fblizzardgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/w9jds","download_url":"https://codeload.github.com/w9jds/blizzardgo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fblizzardgo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278598579,"owners_count":26013289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","blizzard","golang","oauth","package"],"created_at":"2025-05-09T02:20:04.150Z","updated_at":"2025-10-06T10:48:13.302Z","avatar_url":"https://github.com/w9jds.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BlizzardGo\n\nThis library has built in functions to help you manage your sessions and requests with the Blizzard APIs. \n\n---\n\n## Installation\n\nIn order to start using, download it using go commandline:\n``` \ngo get github.com/w9jds/blizzardgo\n```\n---\n\n## Client Authentication\n\nIf you are using just client requests for data, the token is automatically pulled when you create the client. It also refreshs the token automatically for you to make sure that it never expires.\n\n---\n\n## User Authentication\n\nYou can also setup a full web api handling a user login like this:\n``` golang\n\nimport (\n\t\"log\"\n\t\"net/http\"\n\t\"os\"\n\n\tblizzard \"github.com/w9jds/blizzardgo\"\n)\n\nvar (\n\tclientID       string\n\tblizzardClient *blizzard.API\n)\n\nfunc main() {\n\tclientID = os.Getenv(\"CLIENT_ID\")\n\tclientSecret := os.Getenv(\"CLIENT_SECRET\")\n\n\tblizzardClient = blizzard.NewClient(\u0026blizzard.Options{\n\t\tRegion:       \"us\",\n\t\tClientID:     clientID,\n\t\tClientSecret: clientSecret,\n\t\tRedirectURI:  \"http://localhost:8000/oauth\",\n\t})\n\n\thttp.HandleFunc(\"/oauth\", blizzardAuth)\n\n\thttp.ListenAndServe(\":8000\", nil)\n}\n\nfunc blizzardAuth(writer http.ResponseWriter, request *http.Request) {\n\tif code := request.URL.Query().Get(\"code\"); code != \"\" {\n\t\ttoken, err := blizzardClient.GetUserAccessToken(code)\n\n\t\tif err != nil {\n\t\t\thttp.Error(writer, err.Error(), http.StatusInternalServerError)\n\t\t\treturn\n\t\t}\n\n\t\tlog.Println(token)\n\t\treturn\n\t}\n\n\thttp.Redirect(\n\t\twriter,\n\t\trequest,\n\t\tblizzardClient.GetUserAuthorizationURI(\"wow.profile\"),\n\t\thttp.StatusTemporaryRedirect,\n\t)\n}\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw9jds%2Fblizzardgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fw9jds%2Fblizzardgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw9jds%2Fblizzardgo/lists"}