Automate eBay Integration Tasks from PowerShell
The CData ADO.NET Provider for eBay is a standard ADO.NET Provider that make it easy to accomplish data cleansing, normalization, backup, and other integration tasks by enabling real-time and bidirectional access to eBay.
ADO.NET Provider
The ADO.NET Provider provides a SQL interface for eBay; this tutorial shows how to use the Provider to create, retrieve, update, and delete eBay data.
Once you have acquired the necessary connection properties, accessing eBay data in PowerShell can be enabled in three steps.
If you will be accessing your own account, you can generate an OAuthAccessToken from your developer account dashboard. You can also allow other users to securely access their own accounts.
Both of these methods require you to create an application key set to obtain values for the following connection properties: AppId, CertId, DevId, and SiteId.
The user consent flow additionally requires the RuName and CallbackURL.
See the "Getting Started" chapter in the help documentation for a guide to using OAuth.
-
Load the provider's assembly:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for eBay\lib\System.Data.CData.Ebay.dll") -
Connect to eBay:
$conn= New-Object System.Data.CData.Ebay.EbayConnection("AppId=MyAppId;CertId=MyCertId;DevId=MyDevId;SiteId=MySiteId;RuName=MyRuName;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH;") $conn.Open() -
Instantiate the EbayDataAdapter, execute an SQL query, and output the results:
$sql="SELECT Title, HitCount from ItemListing" $da= New-Object System.Data.CData.Ebay.EbayDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.title $_.hitcount }
Update eBay Data
$cmd = New-Object System.Data.CData.Ebay.EbayCommand("UPDATE ItemListing SET ListingStatus='active' WHERE Id = @myId", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.Ebay.EbayParameter("@myId","10456255-0015501366")))
$cmd.ExecuteNonQuery()
Insert eBay Data
$cmd = New-Object System.Data.CData.Ebay.EbayCommand("INSERT INTO ItemListing (ListingStatus) VALUES (@myListingStatus)", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.Ebay.EbayParameter("@myListingStatus","active")))
$cmd.ExecuteNonQuery()
Delete eBay Data
$cmd = New-Object System.Data.CData.Ebay.EbayCommand("DELETE FROM ItemListing WHERE Id=@myId", $conn)
$cmd.Parameters.Add((New-Object System.Data.CData.Ebay.EbayParameter("@myId","001d000000YBRseAAH")))
$cmd.ExecuteNonQuery()
CodeProject