In the only provided example, step 3 states:
"Set the appropriate configuration values for your providers (like API keys) in the app.config or web.config."
And no further information is provided on what the keys are named or where they go.
I attempted to look in the tests folder and found a decent example of where the keys by examing the app.config file.
I placed my TV DB API key in the app.config file under configuration/appSettings named "TheTVDB_APIKey" -- when I try to execute the provided sample code the following exception is thrown "Unhandled Exception: System.ApplicationException: Missing Rovi API key or secret. Please include the Rovi_APIKey and Rovi_APISecret in the application config" when I call "showMgr.GetEpisodeInfoForFilename(filename)"
I'm not using ROVI though, and I don't see any information on how to tell the API to use the TV DB instead of ROVI. Is it using ROVI by default?
... so, I signed up for a ROVI account, I signed up for all three APIs -- however -- the TV listings API does not use a key/secret mechanism like the other two -- it only uses keys (there is no secret listed, only a key).
I tried to supply the key in the app.config file as well -- under configuration/appSettings named "Rovi_APIKey" with my key set. It doesn't work, it throws the same exception at the same spot.
I really don't know what else to do, without further information, this library is unusable.
@BrainSlugs83 Sorry for the confusion. The short answer is: To use TV DB, you've done everything correct. The only additional step you need to do is remove the Rovi .dll from your application directory -- you should stop getting errors about Rovi after this.
The long answer is I'm using MEF and a 'provider' model to get TV data back. Because both providers are present MEF is loading both of them. It's loading Rovi first, which is then throwing an error because it can't find your API key.
I'll be adding additional documentation shortly, but in the meantime -- feel free to ask questions.
Hey, thanks for responding!
So, you just remove the .dll for the Rovi provider? Huh, I may give it another try then.
I do love that this library uses the provider model, though, usually, with the provider model you can specify (in the web.config, or app.config, or programmatically) which provider you want to use -- is there no way to do that with this library? (Is it a planned feature?)
If there's no other way to choose then you might consider having two NuGet packages? It's definitely not intuitive to have to go and manually delete things after installing a NuGet package (not complaining, just putting my $.02 out there, and maybe it will save someone else the headache). -- Or at least put it in the readme.md or whatever.
Also, on the second issue -- with Rovi -- did their API change? -- Because again, I only ever got an API key and not a shared secret for the TV listings API -- does their API still require a shared secret for new accounts?
(The auto-complete API, and the other one, I forget what it is now -- both of those gave me shared secrets AND keys -- but the TV listings API only gave me a key and did not give me any shared secret.)
@BrainSlugs83 for future reference, the Rovi key & secret can be found under: http://developer.rovicorp.com/apps/mykeys (they'll prompt you to log in to your account first). The key & secret you want are for the 'Metadata and Search API'.
Great suggestions on updating the docs & making things clearer! I'm going to try to clean up the docs soon.