Hello,
I'm developping an opensource movie collection management software and I've chosen TMDB as default data source. For now, the API key has to be entered by the user in the application configuration file. I asked a few friends to test the application and they all groused about the need to sign-up on TMDB and to give information such as postal address or phone number to get the API key. I want my users to be happy, so I'm looking for an other solution.
My question is: do you have another solution for this problem?
If not, I'm thinking about implementing a kind of proxy between your API and the app. The proxy would be hosted by me and will export an HTTP api similar to yours (but not identical, because I can adapt it to the requests of my app, and it doesn't need to cover 100% of your API), with a little cache layer to avoid flooding your API. What do you think about this?
Thanks, Antoine.
.לא מצאת סרט או סדרה? היכנס כדי ליצור אותם
?רוצה לדרג או להוסיף פריט אל רשימה
?לא חבר אתר
תגובה מאת Travis Bell
ב-פברואר 19, 2013 ב-6:47אחרי חצות יום
No. Not at this time.
That is going to be potentially problematic for you as we do API rate limiting based on IP address. With 1 server doing all of the requests to our API, it wouldn't take long before you starting hitting the rate limits.
Your best bet is definitely create a full cached layer between us and you only make external calls as you are filling in data. Once you have enough of the dataset cached the number of requests you make will get lower and lower.
Cheers.
תגובה מאת NaPs
ב-פברואר 20, 2013 ב-3:07אחרי חצות יום
Thanks for your answer. Putting aside the technical problems, you are not opposed to the idea?
תגובה מאת Travis Bell
ב-פברואר 20, 2013 ב-6:48אחרי חצות יום
The local caching idea? No, it's what we recommend doing. Thousands already do this, and is definitely recommended.
תגובה מאת NaPs
ב-פברואר 21, 2013 ב-4:44לפני חצות יום
Nope, I'm talking about the idea of hosting a public proxy to your service for my users :-). Here is an implementation of the proxy I'm talking about: https://github.com/NaPs/Kubrick/blob/master/kubrick/tmdb_proxy.py
תגובה מאת Travis Bell
ב-פברואר 21, 2013 ב-10:07לפני חצות יום
That's fine, not much of a difference to us either way. Wouldn't this still use the IP of your server (and not that of the end user) to connect to our APi though?
תגובה מאת NaPs
ב-פברואר 21, 2013 ב-11:43לפני חצות יום
Yes, my server will always do the queries to your API instead of the user.
תגובה מאת Travis Bell
ב-פברואר 21, 2013 ב-11:48לפני חצות יום
Yes, so as I mentioned above ^ that will only work so far. We do rate limiting based on IP address, not API key. With more and more users your single IP will be doing more and more requests and will very likely easily trip our rate limiting.
תגובה מאת NaPs
ב-פברואר 21, 2013 ב-11:53לפני חצות יום
Is it possible to get an higher limit for my ip? Else I will try to make my queries from various IPs...
תגובה מאת Travis Bell
ב-פברואר 21, 2013 ב-12:28אחרי חצות יום
Unfortunately, no. We do not issue custom rate limits.
תגובה מאת NaPs
ב-פברואר 21, 2013 ב-1:43אחרי חצות יום
Ok, thank you for your help. I will announce my software soon, we'll see if it works :-).
תגובה מאת Karl Dietz
ב-פברואר 24, 2013 ב-2:15אחרי חצות יום
Might be an idea to add support for X-Forwarded-For so ISPs with web proxies, or this custom tmdb proxy, are not penalized when they actually take load of the main servers.