Apple App Store Connect API Client .NET library generated by the OpenAPI Generator CLI tool.
Fork from redth/AppStoreConnectNet
- Generate an API Key Instructions from Apple
- Obtain your Key ID, Issuer ID, and Private Key file (.p8)
- You must use the
AppStoreConnectConfigurationtype when creating instances of the Api classes.
// Fill in our Key ID, Issuer ID, and Private Key file contents:
var keyId = "XYZ123ABC";
var issuerId = "11111111-AABB-CCDD-EEFF-123456ABCDEF";
var privateKey = @"-----BEGIN PRIVATE KEY-----YOUR-P8-PRIVATE-KEY-FILE-CONTENTS-HERE-----END PRIVATE KEY-----";
// Must use AppStoreConnectConfiguration
var config = new AppStoreConnect.Client.AppStoreConnectConfiguration(keyId, issuerId, privateKey);
// Create a new instance of the ProfilesApi
var api = new AppStoreConnect.Api.ProfilesApi(config);
// Fetch all profiles for this account
var profiles = await api.ProfilesGetCollectionAsync().ConfigureAwait(false);
// Display all the profiles' Name and Uuid
foreach (var profile in profiles.Data)
{
Console.WriteLine($"{profile.Attributes.Name} ({profile.Attributes.Uuid})");
}- Set the following environment variables
- APP_STORE_CONNECT_KEY_ID
- APP_STORE_CONNECT_ISSUER_ID
- APP_STORE_CONNECT_PRIVATE_KEY
-
(Optional) Download a newer
openapi.oas.jsonspec file: https://developer.apple.com/sample-code/app-store-connect/app-store-connect-openapi-specification.zip and extract it to the root folder of the repo. -
Ensure the open api generator CLI tool is installed:
& npm install @openapitools/openapi-generator-cli(requires NPM to be already installed). -
Generate the C# client
& npx @openapitools/openapi-generator-cli generate -i openapi.oas.json -g csharp -o ./generated -c openapi-config.yaml --skip-validate-spec- or
& npm run gen-csharpif you have the script in package.json
- Touch up any build errors (there's a number of duplicated methods/fields that need to be commented out in various files)
The Directory.Build.props file automatically includes .cs files from the additions folder which is where the AppStoreConnectConfiguration type is defined.