{"id":15424817,"url":"https://github.com/darrelmiller/kiotaapp","last_synced_at":"2025-04-19T16:03:35.367Z","repository":{"id":145370159,"uuid":"553343677","full_name":"darrelmiller/KiotaApp","owner":"darrelmiller","description":null,"archived":false,"fork":false,"pushed_at":"2022-10-21T04:12:58.000Z","size":89,"stargazers_count":17,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T09:51:13.697Z","etag":null,"topics":["openapi"],"latest_commit_sha":null,"homepage":"","language":"C#","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/darrelmiller.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}},"created_at":"2022-10-18T04:25:01.000Z","updated_at":"2025-01-10T09:30:11.000Z","dependencies_parsed_at":"2023-07-15T20:16:30.547Z","dependency_job_id":null,"html_url":"https://github.com/darrelmiller/KiotaApp","commit_stats":{"total_commits":3,"total_committers":2,"mean_commits":1.5,"dds":"0.33333333333333337","last_synced_commit":"187f5510721bf5e3f317e6509ef9b1a74c589371"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrelmiller%2FKiotaApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrelmiller%2FKiotaApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrelmiller%2FKiotaApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrelmiller%2FKiotaApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darrelmiller","download_url":"https://codeload.github.com/darrelmiller/KiotaApp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249220841,"owners_count":21232421,"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","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":["openapi"],"created_at":"2024-10-01T17:48:57.702Z","updated_at":"2025-04-16T08:33:30.235Z","avatar_url":"https://github.com/darrelmiller.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kiota Demo App\n\nThis simple console app is built to demonstrate how the Kiota API client generator can simplify calling any OpenAPI described API.\n\nThe application will compile but is missing ApiKeys for several of the APIs.  The API keys can be acquired from the respective API website and should be set as environment variables.\n\n## Running the applicationa\n\n### dotnet\n\nThe console app needs an `appSettings.json` file. To achieve it, copy the `appSettings.sample.json` as `appSettings.json` and fill the values for the 3 APIs we need API keys.\n\n1. Weather API : https://visualcrossing.com/\n2. New York Times Movie Rewiews API : https://developer.nytimes.com/docs/movie-reviews-api/1/overview\n3. Bing Search API : https://docs.microsoft.com/en-us/azure/cognitive-services/bing-news-search/search-the-web\n\nRun `dotnet run` and the app will perform the calls to the underlying APIs.\n\n### JavaScript\n\nThe console app needs an `.env` file. To achieve it, copy the `.env.sample` as `.env` and fill the values for the 3 APIs we need API keys.\n\n1. Weather API : https://visualcrossing.com/\n2. New York Times Movie Rewiews API : https://developer.nytimes.com/docs/movie-reviews-api/1/overview\n3. Bing Search API : https://docs.microsoft.com/en-us/azure/cognitive-services/bing-news-search/search-the-web\n\nRun `npm i` to install all dependencies and `npm start` to perform the calls to the underlying APIs.\n\n## Funtranslation APIs\n\nThis API is great to try because for a low volume of calls it does not even need an API key.\n\nSearching for the word `translate` will bring back this API.\n\n```\nkiota search translation\n\nKey                                      Title\napisguru::ebay.com:commerce-translation  Translation API\napisguru::funtranslations.com:braile     FunTranslations Braille API\napisguru::funtranslations.com:index      FunTranslations API\napisguru::funtranslations.com:starwars   Starwars Translations API\n```\n\nUsing they key we can find more information about this API\n\n```\nkiota search apisguru::funtranslations.com:starwars\n\nKey: apisguru::funtranslations.com:starwars\nTitle: Starwars Translations API\nDescription: Funtranslations Starwars API gives access to the full set of starwars language translations available at funtranslations.com so that you can integrate them in your workflow or an app. [Click here to get details and subscribe](http://funtranslations.com/api/starwars) .\n\n  You can also subscribe to individual translators. Here are the details.\n\n  Ever wonder how to talk like Yoda? Well, use our API and let your APP/webpage speak like Yoda too.[Click here to subscribe](http://funtranslations.com/api/yoda)\n\n  Sith Translator API. [Click here to subscribe](http://funtranslations.com/api/sith)\n\n  Cheunh Translator API. [Click here to subscribe](http://funtranslations.com/api/cheunh)\n\n  Huttese Translator API. [Click here to subscribe](http://funtranslations.com/api/huttese)\n\n  Mandalorian Translator API. [Click here to subscribe](http://funtranslations.com/api/mandalorian)\n\n  Gungan Translator API. [Click here to subscribe](http://funtranslations.com/api/gungan)\n\nService: http://funtranslations.com/\nOpenAPI: https://funtranslations.com/yaml/funtranslations.starwars.yaml\n\nHint: use kiota download to download the OpenAPI description.\nExample: kiota download apisguru::funtranslations.com:starwars -o \u003coutput path\u003e\n\nHint: use kiota show to display a tree of paths present in the OpenAPI description.\nExample: kiota show -k apisguru::funtranslations.com:starwars\n```\n\nFrom the response we can see that we discover more about the API using the `show` command.\n\n```\nkiota show -k apisguru::funtranslations.com:starwars\n\n/\n └─translate\n    ├─yoda\n    ├─sith\n    ├─cheunh\n    ├─gungan\n    ├─mandalorian\n    └─huttese\n\nHint: use the --include-path and --exclude-path options with glob patterns to filter the paths displayed.\nExample: kiota show -d https://funtranslations.com/yaml/funtranslations.starwars.yaml --include-path **/foo\n\nHint: use kiota generate to generate a client for the OpenAPI description.\nExample: kiota generate -l \u003clanguage\u003e -o \u003coutput path\u003e -d https://funtranslations.com/yaml/funtranslations.starwars.yaml\n```\n\nWith this information we can generate our Api client to have the class name `TranslateClient` in the namespace `Translate`.\n\n```\nkiota generate -l csharp -o funtranslate -d https://funtranslations.com/yaml/funtranslations.starwars.yaml -c TranslateClient -n Translate\nkiota generate -l typescript -o funtranslate -d https://funtranslations.com/yaml/funtranslations.starwars.yaml -c TranslateClient -n Translate\n```\n\n## Bing News Search\n\n```\nkiota search News\n```\n\n```\nkiota search apisguru::microsoft.com:cognitiveservices-NewsSearch\n```\n\n```\nkiota generate -l csharp -o bingNews -d https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cognitiveservices/data-plane/NewsSearch/stable/v1.0/NewsSearch.json -c BingNewsClient -n Bing\nkiota generate -l typescript -o bingNews -d https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cognitiveservices/data-plane/NewsSearch/stable/v1.0/NewsSearch.json -c BingNewsClient -n Bing\n```\n\n## New York Times Movie Reviews\n\n```\nkiota search reviews\n```\n\n```\nkiota search apisguru::nytimes.com:movie_reviews\n```\n\n```\nkiota generate -l csharp -o nytmoviereviews -d https://raw.githubusercontent.com/nytimes/public_api_specs/master/movie_reviews/movie_reviews_v2.json -c NytMovieClient -n Nyt\nkiota generate -l typescript -o weather -d https://www.visualcrossing.com/weather/specs/visualcrossing-weather-api-openapi.json -c Weatherclient -n Weather\n```\n\n## Visual Crossing Weather Service\n\n```\nkiota search weather\n```\n\n```\nkiota search apisguru::visualcrossing.com:weather\n```\n\n```\nkiota generate -l csharp -o weather -d https://www.visualcrossing.com/weather/specs/visualcrossing-weather-api-openapi.json -c Weatherclient -n Weather\nkiota generate -l typescript -o weather -d https://www.visualcrossing.com/weather/specs/visualcrossing-weather-api-openapi.json -c Weatherclient -n Weather\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarrelmiller%2Fkiotaapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarrelmiller%2Fkiotaapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarrelmiller%2Fkiotaapp/lists"}