IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Utilisation de l'API yahoo


Sujet :

API standards et tierces Java

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut Utilisation de l'API yahoo
    Bonjour à tous,

    je souhaite savoir comment fonctionne l'API yahoo???
    J'ai été sur leur site et telechargé SDK pour developper. (J'ai donc inseré le Jar dans mon projet (je suis sous eclipse).

    Quelqu'un a-t-il un exemple pour effectuer une recherche et prendre par exemple les 3 premiers resultats? (je souhaite faire une recherche SIMPLE, pas sur les news ou autre, juste un recherche de site).

    MERCI

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Tu as pris la peine de regarder ce qui était fourni avec le jar ?

    Il y a toute la doc et un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    import com.yahoo.search.*;
     
    import java.io.IOException;
     
    /**
     * Code sample to demonstrate using the Yahoo! Java API to perform a web
     * search.
     *
     * @author Ryan Kennedy
     */
    public class WebSearch {
        public static void main(String[] args) {
            // Create the search client. Pass it your application ID.
            SearchClient client = new SearchClient("javasdktest");
     
            // Create the web search request. In this case we're searching for
            // java-related hits.
            WebSearchRequest request = new WebSearchRequest("java");
     
            try {
                // Execute the search.
                WebSearchResults results = client.webSearch(request);
     
                // Print out how many hits were found.
                System.out.println("Found " + results.getTotalResultsAvailable() +
                        " hits for java! Displaying the first " +
                        results.getTotalResultsReturned() + ".");
     
                // Iterate over the results.
                for (int i = 0; i < results.listResults().length; i++) {
                    WebSearchResult result = results.listResults()[i];
     
                    // Print out the document title and URL.
                    System.out.println("   " + (i + 1) + ": " + result.getTitle() + " - " +
                            result.getUrl());
                }
            }
            catch (IOException e) {
                // Most likely a network exception of some sort.
                System.err.println("Error calling Yahoo! Search Service: " +
                        e.toString());
                e.printStackTrace(System.err);
            }
            catch (SearchException e) {
                // An issue with the XML or with the service.
                System.err.println("Error calling Yahoo! Search Service: " +
                        e.toString());
                e.printStackTrace(System.err);
            }
        }
    }

  3. #3
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Et bien, un grand merci.

    Oui, j'avais regardé le jar, mais j'avais trouvé un exemple qui fonctionnait pas (c'etait bizard)

    Mais celui que tu presente, je ne l'ai pas vu
    DESOLE

    Encore merci

  4. #4
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Bonsoir,

    j'essaie d'utiliser l'exemple en question. En effet, ca fonctionne comme tu me le presente. Mais dès que je fais ceci (je veux retourner le resultat dans une matrice String):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    	String[][] requete() {
    			String[][] tabRasulat;
    			tabRasulat = new String[3][3];
    	        SearchClient client = new SearchClient("javasdktest");
    	        WebSearchRequest requete = new WebSearchRequest("java");
     
    	        try {
    	            WebSearchResults resultats = client.webSearch(requete);
    	            System.out.println("Found " + resultats.getTotalResultsAvailable() +
    	                    " hits for java! Displaying the first " +
    	                    resultats.getTotalResultsReturned() + ".");
    	            for (int i = 0; i < resultats.listResults().length; i++) 
    	            {
    	                WebSearchResult result = resultats.listResults()[i];	               
    	                System.out.println("   " + (i + 1) + ": " + result.getTitle() + " - " +
    	                        result.getUrl());
    	                tabRasulat[i][0] = result.getTitle(); 
    	            }
    	        }	        
    	        catch (IOException e) {
    	            System.err.println("Error calling Yahoo! Search Service: " +
    	                    e.toString());
    	            e.printStackTrace(System.err);
    	        }
    	        catch (SearchException e) {	          
    	            System.err.println("Error calling Yahoo! Search Service: " +
    	                    e.toString());
    	            e.printStackTrace(System.err);
    	        }
    	        return tabRasulat;
    	    }
    }
    Je reçois un message d'erreur main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.NoSuchMethodError: main
    Exception in thread "main"
    Une sorte de fatal error

    Je ne vois pas mon erreur.

    MERCI

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    L'erreur n'a pas l'air de venir de ce bout de code, il vient plutot du fait qu'il cherche une méthode main et qu'il ne l'a trouve pas. Je pense que tu essaies d'éxécuter ta classe alors qu'elle ne contient pas de méthode main correcte.

    Il faut que tu ajoutes obligatoirement une méthode main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void main(String[] args)
    Sinon, si tu as une méthode main, donne nous un peu plus de code.

  6. #6
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Tout d'abord merci pour cet interet et cette aide.

    Non, je n'ai pas de main, mais je souhaite récupérer cette class ulterieurement dans une class principale pour reprendre les resultats obtenus.
    Ainsi, je souhaite reprendre l'adresse, le titre et le summary des pages trouvée (d'où mon String [3][3] (je ne reprends que les 3 premiers resultats))

    Comme je souahite retourner un String [][], je suis obligé de mettre un String[][] devant le main, non?

    LE probleme apres plusieurs essais semble etre:
    1/ avec un void main, ca fonctionne,
    2/ Avec un String[][] et un return String [][] ca met l'erreur fatal.

    Donc c'est le fait de mettre un String devant le main qui pose probleme

    Meme ca donne une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    public void main(String[] args)
    	{
    		String[][] s = requete();
    		for (int j = 0; j < s.length; j++)
    		{
    			System.out.println("s :" + s[j][0]);
    		}
    	}
     
    	String[][] requete() {
    			String[][] tabRasulat;
    			tabRasulat = new String[3][3];
    	        SearchClient client = new SearchClient("javasdktest");
    	        WebSearchRequest requete = new WebSearchRequest("java");
     
    	        try {
    	            WebSearchResults resultats = client.webSearch(requete);
    	            System.out.println("Found " + resultats.getTotalResultsAvailable() +
    	                    " hits for java! Displaying the first " +
    	                    resultats.getTotalResultsReturned() + ".");
    	            for (int i = 0; i < resultats.listResults().length; i++) 
    	            {
    	                WebSearchResult result = resultats.listResults()[i];	               
    	                System.out.println("   " + (i + 1) + ": " + result.getTitle() + " - " +
    	                        result.getUrl());
    	                tabRasulat[i][0] = result.getTitle(); 
    	            }
    	        }	        
    	        catch (IOException e) {
    	            System.err.println("Error calling Yahoo! Search Service: " +
    	                    e.toString());
    	            e.printStackTrace(System.err);
    	        }
    	        catch (SearchException e) {	          
    	            System.err.println("Error calling Yahoo! Search Service: " +
    	                    e.toString());
    	            e.printStackTrace(System.err);
    	        }
    	        return tabRasulat;
    	    }
    }

  7. #7
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Probleme resolu, merci pour votre participation à ceux qui ont lu et à celui qui a répondu

    Voici la solution qui fonctionne:
    BREF, fallait un main en void

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    public static void main (String argv [])
    	{
    		String[][] s = requete();
    		for (int j = 0; j < s.length; j++)
    		{
    			System.out.println("s :" + s[j][0]);
    		}
    	}
     
    	static String[][] requete() {
    			String[][] tabRasulat;
    			tabRasulat = new String[3][3];
    	        SearchClient client = new SearchClient("javasdktest");
    	        WebSearchRequest requete = new WebSearchRequest("java");
     
    	        try {
    	            WebSearchResults resultats = client.webSearch(requete);
    	            System.out.println("Found " + resultats.getTotalResultsAvailable() +
    	                    " hits for java! Displaying the first " +
    	                    resultats.getTotalResultsReturned() + ".");
    	            for (int i = 0; i < 3; i++) 
    	            {
    	                WebSearchResult result = resultats.listResults()[i];	               
    	                System.out.println("   " + (i + 1) + ": " + result.getTitle() + " - " +
    	                        result.getUrl());
    	                tabRasulat[i][0] = result.getTitle(); 
    	            }
    	        }	        
    	        catch (IOException e) {
    	            System.err.println("Error calling Yahoo! Search Service: " +
    	                    e.toString());
    	            e.printStackTrace(System.err);
    	        }
    	        catch (SearchException e) {	          
    	            System.err.println("Error calling Yahoo! Search Service: " +
    	                    e.toString());
    	            e.printStackTrace(System.err);
    	        }
    	        return tabRasulat;
    	    }
    }

  8. #8
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Tout d'abord merci pour cet interet et cette aide.

    Non, je n'ai pas de main, mais je souhaite récupérer cette class ulterieurement dans une class principale pour reprendre les resultats obtenus.
    Ainsi, je souhaite reprendre l'adresse, le titre et le summary des pages trouvée (d'où mon String [3][3] (je ne reprends que les 3 premiers resultats))

    Comme je souahite retourner un String [][], je suis obligé de mettre un String[][] devant le main, non?

    LE probleme apres plusieurs essais semble etre:
    1/ avec un void main, ca fonctionne,
    2/ Avec un String[][] et un return String [][] ca met l'erreur fatal.

    Donc c'est le fait de mettre un String devant le main qui pose probleme

    Meme ca donne une erreur:
    Oulah, tu t'enmeles un peu les pinceaux sur ce coup -là...

    La méthode main sert à lancer ton programme, mais tu ne peux pas changer la signature de celle-ci. Donc tu ne peux rien retourner avec cette méthode.

    Ta méthode requete() comme tu l'avais fait dans ton premier exemple, marche bien, mais il faut aussi une méthode main qui se charge de lancer le programme et qui normalement utiliser requete().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    public static void main (String argv []){
    		String[][] results = requete();
    		//Utilisation des résultats
    	}
     
    	public static String[][] requete() {
    			String[][] tabRasulat;
    			tabRasulat = new String[3][3];
    	        SearchClient client = new SearchClient("javasdktest");
    	        WebSearchRequest requete = new WebSearchRequest("java");
     
    	        try {
    	            WebSearchResults resultats = client.webSearch(requete);
    	            System.out.println("Found " + resultats.getTotalResultsAvailable() +
    	                    " hits for java! Displaying the first " +
    	                    resultats.getTotalResultsReturned() + ".");
    	            for (int i = 0; i < 3; i++) 
    	            {
    	                WebSearchResult result = resultats.listResults()[i];	               
    	                System.out.println("   " + (i + 1) + ": " + result.getTitle() + " - " +
    	                        result.getUrl());
    	                tabRasulat[i][0] = result.getTitle(); 
    	            }
    	        }	        
    	        catch (IOException e) {
    	            System.err.println("Error calling Yahoo! Search Service: " +
    	                    e.toString());
    	            e.printStackTrace(System.err);
    	        }
    	        catch (SearchException e) {	          
    	            System.err.println("Error calling Yahoo! Search Service: " +
    	                    e.toString());
    	            e.printStackTrace(System.err);
    	        }
    	        return tabRasulat;
    	    }

  9. #9
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Je pensais que je pouvais tester ma class sans forcement instancier.
    Au fait, j'ai pas besoin d'un main car je lance ceci dans une autre class principale.
    Mais pour tester si ca fonctionne, je dois apparmeent mettre un main pour tester la class seule.

    JE ne le savais pas
    MERCI à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.Net]Utilisation de l'API OOo
    Par DonF dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/01/2007, 13h13
  2. [Yahoo UI] API Yahoo YUI
    Par berceker united dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 16/11/2006, 14h51
  3. [SOAP] Utilisation de quelle API ?
    Par _beber85 dans le forum Services Web
    Réponses: 3
    Dernier message: 29/05/2006, 13h21
  4. [DOM] Utilisation de l'API DOM pour créer du HTML sous IE
    Par pedouille dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/01/2006, 14h48
  5. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo