Bonjour à tous,
les dependencies fonctionnent,
tout ce qui est en java uniquement ne posent pas de probleme.
Voir plus bas dans le programme.
Pour être précis, pour obtenir un certain type d'info,
on doit utiliser le http,
mais j'ai une erreur 401.
acces non autorisé.
Alors que j'ai le Json avec toutes les autorisations dedans sur le compte de travail.
Je dois déclarer mon l'adress http de mon app,
sauf que je n'ai que le build de intellij.

Je ne sais pas trop quoi faire.



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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
package com.company;

import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.util.store.FileDataStoreFactory;

import com.google.api.services.mybusiness.v4.MyBusiness;
import com.google.api.services.mybusiness.v4.model.ListAccountsResponse;
import com.google.api.services.mybusiness.v4.model.ListLocationsResponse;
import com.google.api.services.mybusiness.v4.model.Location;

import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.Collections;
import java.util.List;

public class Main {



    /*
     *  Copyright 2019 Google LLC
     *
     *  Licensed under the Apache License, Version 2.0 (the "License");
     *  you may not use this file except in compliance with the License.
     *  You may obtain a copy of the License at
     *
     *      https://www.apache.org/licenses/LICENSE-2.0
     *
     *  Unless required by applicable law or agreed to in writing, software
     *  distributed under the License is distributed on an "AS IS" BASIS,
     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     *  See the License for the specific language governing permissions and
     *  limitations under the License.
     */


    private static final String APPLICATION_NAME =
            "Google My Business API Java Quickstart";
    private static final java.io.File DATA_STORE_DIR =
            new java.io.File(System.getProperty("user.home"),
                    ".store/mybusiness_sample");
    private static FileDataStoreFactory dataStoreFactory;
    private static HttpTransport httpTransport;
    private static final JsonFactory JSON_FACTORY =
            JacksonFactory.getDefaultInstance();
    private static MyBusiness mybusiness;

    /**
     * Demonstrates the authentication flow to use
     * with the Google My Business API Java client library.
     *
     * @return AuthorizationCodeInstalledApp
     */
    private static Credential authorize() throws Exception {
        // Creates an InputStream to hold the client ID and secret.
        //  InputStream secrets = Main.class.getResourceAsStream("C:/Users/user/Documents/Programming/Java/MyBusiness2/client_secrets.json");
        InputStreamReader secrets = new InputStreamReader(new FileInputStream("C:/Users/user/Documents/Programming/Java/MyBusiness2/client_secrets.json"));
        // Prompts the user if no credential is found.
        if (secrets == null) {
            System.out.println(
                    "Enter Client ID and Secret from Google API Console "
                            + "into C:/Users/user/Documents/Programming/Java/MyBusiness2/src/main/resources/client_secrets.json");
            System.exit(1);
        }

        // Uses the InputStream to create an instance of GoogleClientSecrets.
        GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, secrets);//new InputStreamReader(secrets));
        if (clientSecrets.getDetails().getClientId().startsWith("Enter")
                || clientSecrets.getDetails().getClientSecret().startsWith("Enter ")) {
            System.out.println(
                    "Enter Client ID and Secret from Google API Console "
                            + "into google-my-business-api-sample/src/main/resources/client_secrets.json");
            System.exit(1);
        }

        // Sets up the authorization code flow.
        GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
                httpTransport, JSON_FACTORY, clientSecrets,
                Collections.singleton("https://www.googleapis.com/auth/business.manage"))
                .setDataStoreFactory(dataStoreFactory).build();
        // Returns the credential.
        return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
    }

    public static void main(String[] args) throws Exception {
        httpTransport = GoogleNetHttpTransport.newTrustedTransport();
        dataStoreFactory = new FileDataStoreFactory(DATA_STORE_DIR);

        // Calls the authorize() function to get a credential.
        Credential credential = authorize();

        // Calls MyBusiness.Builder to create a new instance named 'mybusiness'.
        mybusiness = new MyBusiness.Builder(httpTransport, JSON_FACTORY, credential)
                .setApplicationName(APPLICATION_NAME).build();

        //////////////////////////////////////////////////////////

        /////////////////////////////////////////////////////////////////////////////
//Lis ca https://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/
        java.net.URL url1 = new URL("https://mybusiness.googleapis.com/v4/accounts/103922456502490788566/locations?orderBy=locationName");
        URLConnection myURLConnection = url1.openConnection();

       System.out.print(url1.openStream());

       // java.util.Scanner s = new java.util.Scanner(new java.net.URL("https://mybusiness.googleapis.com/v4/accounts/accounts/103922456502490788566").openStream());





/*
        //////////////////////////////////////////////////////////////////////////
        // l'ensemble des comptes
        MyBusiness.Accounts.List accountsList = mybusiness.accounts().list();
        ListAccountsResponse response = accountsList.execute();
        List accounts = response.getAccounts();
        for (Object account : accounts) {
            System.out.println(account.toString());
        }
        /////////////////////////////////////////////////////////////////////////

            // lister les locations

            String name= "accounts/xxxxxxxxxxxxxxxxxxxxx";
                MyBusiness.Accounts.Locations.List locationsList =
                        mybusiness.accounts().locations().list(name);
                ListLocationsResponse response2 = locationsList.execute();
                List<Location> locations = response2.getLocations();

                if (locations != null) {
                    for (Location location : locations) {
                        System.out.println(location.toString());
                    }
                } else {
                    System.out.printf("Account '%s' has no locations.", name);
                }



 */
    }

}

Le Message d'erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
"C:\Program Files\Java\jdk-13.0.1\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.4\lib\idea_rt.jar=50288:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\user\Documents\Programming\Java\MyBusiness2\out\production\MyBusiness2;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-services-mybusiness-v4p5-java-rev20190909-1\mybusiness\google-api-services-mybusiness-v4-rev0-1.25.0.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\animal-sniffer-annotations-1.14.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\checker-compat-qual-2.5.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\commons-logging-1.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\error_prone_annotations-2.1.3.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-android-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-appengine-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-gson-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-jackson2-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-java6-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-protobuf-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-servlet-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-api-client-xml-1.30.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-http-client-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-http-client-android-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-http-client-appengine-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-http-client-gson-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-http-client-jackson2-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-http-client-protobuf-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-http-client-xml-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-oauth-client-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-oauth-client-appengine-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-oauth-client-java6-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\google-oauth-client-servlet-1.30.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\grpc-context-1.19.0.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\gson-2.8.5.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\guava-26.0-android.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\httpclient-4.5.9.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\httpcore-4.4.11.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\j2objc-annotations-1.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\jackson-core-2.9.9.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\jdo2-api-2.3-eb.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\jsr305-3.0.2.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\opencensus-api-0.21.0.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\opencensus-contrib-http-util-0.21.0.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\protobuf-java-2.6.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\transaction-api-1.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client\libs\xpp3-1.1.4c.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client-jetty\google-oauth-client-jetty-1.23.0.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client-jetty\javax.servlet-api-3.0.1.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client-jetty\jetty-6.1.5.jar;C:\Users\user\Documents\Programming\Java\MyBusiness2\libs\google-api-java-client-jetty\jetty-util-6.1.25.jar com.company.Main
1月 04, 2020 1:50:45 午後 com.google.api.client.util.store.FileDataStoreFactory setPermissionsToOwnerOnly
警告: unable to change permissions for everybody: C:\Users\user\.store\mybusiness_sample
1月 04, 2020 1:50:45 午後 com.google.api.client.util.store.FileDataStoreFactory setPermissionsToOwnerOnly
警告: unable to change permissions for owner: C:\Users\user\.store\mybusiness_sample
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 401 for URL: https://mybusiness.googleapis.com/v4/accounts/103922456502490788566/locations?orderBy=locationName
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1919)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
	at java.base/java.net.URL.openStream(URL.java:1162)
	at com.company.Main.main(Main.java:114)

Process finished with exit code 1
je dois déclarer l'adress de mon script genre http//8080...
Mais je ne trouve pas de tuto exacte.