Skip to content

hugebug4ever/AppStoreConnectNet

Repository files navigation

AppStoreConnect.Net

Apple App Store Connect API Client .NET library generated by the OpenAPI Generator CLI tool.
Fork from redth/AppStoreConnectNet

CI NuGet version

Usage

  1. Generate an API Key Instructions from Apple
  2. Obtain your Key ID, Issuer ID, and Private Key file (.p8)
  3. You must use the AppStoreConnectConfiguration type 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})");
}

Test

  • Set the following environment variables
    • APP_STORE_CONNECT_KEY_ID
    • APP_STORE_CONNECT_ISSUER_ID
    • APP_STORE_CONNECT_PRIVATE_KEY

Generating / Updating

  1. (Optional) Download a newer openapi.oas.json spec 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.

  2. Ensure the open api generator CLI tool is installed: & npm install @openapitools/openapi-generator-cli (requires NPM to be already installed).

  3. 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-csharp if you have the script in package.json
  1. Touch up any build errors (there's a number of duplicated methods/fields that need to be commented out in various files)

Additions

The Directory.Build.props file automatically includes .cs files from the additions folder which is where the AppStoreConnectConfiguration type is defined.

Links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages