Automate Gumroad Integration Tasks from PowerShell
The CData API Driver for ADO.NET is a standard ADO.NET Provider that make it easy to accomplish data cleansing, normalization, backup, and other integration tasks by enabling real-time access to Gumroad.
ADO.NET Provider
The ADO.NET Provider provides a SQL interface for Gumroad; this tutorial shows how to use the Provider to retrieve Gumroad data.
Once you have acquired the necessary connection properties, accessing Gumroad data in PowerShell can be enabled in three steps.
Using OAuth Authentication
To authenticate to Gumroad and connect to your own data or to allow other users to connect to their data, you can use the OAuth 2.0 standard. This is the recommended authentication method.
First you need to register an OAuth application with Gumroad. You can create an OAuth application by visiting your Gumroad account settings at https://app.gumroad.com/settings/advanced and navigating to the Applications section.
After setting the following connection properties, you are ready to connect:
- AuthScheme: Set this to OAuth.
- InitiateOAuth: Set this to GETANDREFRESH. The CData API Profile for Gumroad will automatically walk through the OAuth process in order to obtain the access token.
- OAuthClientID: Set this to the client_id that is specified in your app settings.
- OAuthClientSecret: Set this to the client_secret that is specified in your app settings.
- CallbackURL: Set this to the Redirect URI you specified in your app settings.
Example connection string
Profile=C:\profiles\Gumroad.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;
-
Load the provider's assembly:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData API Driver for ADO.NET\lib\System.Data.CData.API.dll") -
Connect to Gumroad:
$conn= New-Object System.Data.CData.API.APIConnection("Profile=C:\profiles\Gumroad.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;") $conn.Open() -
Instantiate the APIDataAdapter, execute an SQL query, and output the results:
$sql="SELECT , from CustomFields" $da= New-Object System.Data.CData.API.APIDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_. $_. }