web-dev-qa-db-fra.com

La recherche d'images Google indique que l'API n'est plus disponible

J'utilise l'API Google de recherche d'images. Jusqu'à hier, cela fonctionnait, mais aujourd'hui, il est écrit "Cette API n'est plus disponible"

Est-il officiellement fermé, ou toute erreur à mes côtés

Demande

https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=cute+kittens

Réponse

{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}
61
Md. Parvez Alam

Ceci est le modèle d'URL complet à utiliser

Nous pouvons éliminer les paramètres inutiles.

https://www.googleapis.com/customsearch/v1?q= {searchTerms} & num = {count?} & start = {startIndex?} & lr = {language?} & safe = {safe?} & cx = { cx?} & cref = {cref?} & sort = {sort?} & filter = {filtre?} & gl = {gl?} & cr = {cr?} & googlehost = {googleHost?} & c2coff = {disableCnTwTranslation?} & hq = {hq? } & hl = {hl?} & siteSearch = {siteSearch?} & siteSearchFilter = {siteSearchFilter?} & exactTerms = {exactTerms?} & excludeTerms = {excludeTerms?} & linkSite = {linkSite?} & orTerms = {ouTerms?} & relatedSite = = {dateRestrict?} & lowRange = {lowRange?} & highRange = {highRange?} & searchType = {searchType} & fileType = {fileType?} & rights = {rights?} & imgSize = {imgSize?} & imgType = {imgType?} & imgCouleurType ?} & imgDominantColor = {imgDominantColor?} & alt = json

J'utilise 

https://www.googleapis.com/customsearch/v1?key=ap_key&cx=cx&q=hello&searchType=image&imgSize=xlarge&alt=json&num=10&start=1

2
Md. Parvez Alam

La réponse que j'ai trouvée utilisait l'API du moteur de recherche personnalisé (CSE) de Google. Notez que cela est limité à 100 demandes gratuites par jour.

Créer cx et le modifier pour rechercher des images

  1. Créez un moteur de recherche personnalisé sur https://cse.google.com/cse/create/new en fonction de vos critères de recherche. 
  2. Choisissez les sites à rechercher (laissez ce champ vide si vous souhaitez effectuer une recherche sur l'ensemble du Web, sinon vous pouvez entrer un site pour effectuer une recherche dans un site particulier)
  3. Entrez un nom et une langue pour votre moteur de recherche.
  4. Cliquez sur "créer". Vous pouvez maintenant trouver cx dans l'URL de votre navigateur.
  5. Sous "Modifier votre moteur de recherche", cliquez sur le bouton "Panneau de configuration". Dans la section "Éditer", vous trouverez une étiquette "Recherche d'image" avec un bouton ON/OFF, changez-la en SUR. Cliquez sur "mettre à jour" pour enregistrer vos modifications.

Effectuer une recherche avec l'API

L'URL du noeud final de l'API est https://www.googleapis.com/customsearch/v1

Les paramètres JSON suivants sont utilisés pour cette API:

  • q: spécifie le texte de recherche
  • num: spécifie le nombre de résultats. Requiert une valeur entière comprise entre 1 et 10 (inclus)
  • start: le "décalage" pour les résultats, le résultat de la recherche devant commencer. Requiert une valeur entière comprise entre 1 et 101.
  • imgSize: la taille de l'image. J'ai utilisé "medium"
  • searchType: doit être défini sur "image"
  • filetype: spécifie le type de fichier de l'image. J'ai utilisé `" jpg ", mais vous pouvez l'omettre si l'extension du fichier n'a pas d'importance pour vous.
  • key: une clé API, obtenue à partir de https://console.developers.google.com/
  • cx: l'ID de moteur de recherche personnalisé de la section précédente

Créez simplement une requête GET en transmettant les paramètres ci-dessus en tant que JSON au point de terminaison de l'API (également répertorié ci-dessus).

Remarque: Si vous définissez une liste de référents dans les paramètres du moteur de recherche, l'affichage de l'URL via votre navigateur ne fonctionnera probablement pas. Vous devrez passer un appel AJAX (ou l’équivalent d’une autre langue) à partir d’un serveur spécifié dans cette liste. Cela fonctionnera uniquement pour les référents spécifiés dans les paramètres de configuration.

Référence: https://developers.google.com/custom-search/json-api/v1/reference/cse/list

96
Vijay Shegokar

Vous pouvez maintenant rechercher des images avec l'API de recherche d'images personnalisée.

Vous pouvez le faire en deux étapes: 

1) Obtenez CUSTOM_SEARCH_ID

Accédez à - https://cse.google.ru/cse/all

Ici, vous devez créer un nouveau moteur de recherche. Faites-le et activez la recherche d'images à cet endroit.

Écran (je suis russe ... désolé)

image search enable

puis obtenez cet identifiant de moteur de recherche. Pour ce faire, appuyez sur le bouton Obtenir le code:

get code button

Et trouver la ligne avec cx = "voici votre CUSTOM_SEARCH_ID":

get CSE id

D'accord. C'est fait, maintenant deuxième étape:

2) Obtenez SERVER_KEY

Accédez à la console google - https://console.developers.google.com/project

Google API Console

Appuyez sur le bouton Créer un projet, entrez le nom et les autres informations requises ..__ Choisissez ce projet et sélectionnez Activer Apis project dashboard Recherchez maintenant le moteur de recherche personnalisé. 

custom SE find Et activez-le.

Enable Custom Search

Nous devons maintenant accéder aux informations d’identification et créer une nouvelle clé de serveur:

Create server Key

D'accord. Nous pouvons maintenant utiliser la recherche d'images. 

Requête:

https://www.googleapis.com/customsearch/v1?key=SERVER_KEY&cx=CUSTOM_SEARCH_ID&q=flower&searchType=image&fileType=jpg&imgSize=xlarge&alt=json

Remplacez SERVER_KEY et CUSTOM_SEARCH_ID et appelez cette demande.

Limite: gratuitement, vous ne pouvez rechercher que 100 images par jour ..__ Merci pour votre attention. 

20
aftamat4ik

S'il s'agit uniquement d'un usage personnel (pas de production) et que vous ne prévoyez pas utiliser Google Recherche d'images, vous pouvez simplement extraire la première URL de l'image des résultats de recherche Google à l'aide de JSOUP

Par exemple: Code permettant de récupérer l'URL de l'image de la première vignette:

public static String FindImage(String question, String ua) {
            String finRes = "";

    try {
            String googleUrl = "https://www.google.com/search?tbm=isch&q=" + question.replace(",", "");
            Document doc1 = Jsoup.connect(googleUrl).userAgent(ua).timeout(10 * 1000).get();
            Element media = doc1.select("[data-src]").first();
            String finUrl = media.attr("abs:data-src"); 

            finRes= "<a href=\"http://images.google.com/search?tbm=isch&q=" + question + "\"><img src=\"" + finUrl.replace("&quot", "") + "\" border=1/></a>";

        } catch (Exception e) {
            System.out.println(e);
        }

        return finRes;
    }

Guider: 

question - terme de recherche d'image

uC - Agent utilisateur du navigateur

6
jjj

Modifiez l'URL de l'API en Recherche personnalisée d'images dans Google

Fournissez les mêmes paramètres avec API KEY et CX.

Plus d'infos et explorateur

3
Pir Abdul

La Yahoo Boss API est un substitut raisonnable, bien que ce ne soit pas gratuit et que les résultats ne soient pas aussi bons.

MISE À JOUR: L'API de recherche JSON YAHOO BOSS s'arrête le 31 mars 2016

0
alzy