2017-01-07 1 views
0

Je souhaite créer une application de bureau qui devra utiliser une API REST tierce pour obtenir des informations. Cependant, le nombre de demandes est limité par la clé API. Si j'utilise une clé API pour tous les utilisateurs, le quota de demandes sera épuisé très rapidement. Maintenant, est-il normal (et légal) de faire en sorte que chaque utilisateur s'inscrive pour sa propre clé d'API? Comment les clés API sont-elles utilisées dans le contexte de projets open-source? Pour générer la clé API, je souhaite créer un formulaire d'inscription dans l'application, dans lequel l'utilisateur ajoute ses informations et l'application envoie ces informations au site Web de la tierce partie pour obtenir une clé API. Est-ce que ça sonne bien?Est-il normal que chaque utilisateur s'inscrive à une clé API tierce?

Répondre

1

En général, l'utilisation d'une API est limitée aux requêtes d'une machine et non à la clé API la plupart du temps.

Toujours selon le type de services tiers que vous utilisez, mais les demandes au service doivent être établies par le client et non par le serveur. Par exemple, si vous souhaitez connaître les coordonnées géographiques d'un lieu spécifique, vous ne pouvez évidemment pas demander directement à l'utilisateur les coordonnées GPS. Ainsi, vous implémentez la bibliothèque Javascript Google Maps dans votre application qui demande à l'API Google les coordonnées de l'adresse lisible par l'utilisateur et la renvoie au client. Cela à son tour envoie les données à votre serveur. De cette manière, votre serveur n'entrera jamais en contact avec le service tiers.

Si vous avez des données sensibles ou des données qui ne doivent pas être manipulées par l'utilisateur, vous devez demander directement à votre serveur. Mais jetez un oeil dans la documentation du service avant de pirater quelque chose qui n'est pas dans l'intention du fournisseur de services.

N'essayez jamais de déjouer un fournisseur de services. Ils détecteront votre utilisation inappropriée et vous bloqueront pour toujours!