Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从中获取电子邮件https://www.googleapis.com/plus/v1/people/me 使用谷歌&x2B;代币_Java_Email_Google Plus - Fatal编程技术网

Java 如何从中获取电子邮件https://www.googleapis.com/plus/v1/people/me 使用谷歌&x2B;代币

Java 如何从中获取电子邮件https://www.googleapis.com/plus/v1/people/me 使用谷歌&x2B;代币,java,email,google-plus,Java,Email,Google Plus,我还想从电话里收到电子邮件。我收到很多信息,但不是电子邮件。有人能帮忙吗 HttpGet request = new HttpGet("https://www.googleapis.com/plus/v1/people/me?scope=https://www.googleapis.com/auth/userinfo.email"); request.setHeader("Authorization", "Bearer <access_token>"); HttpResponse r

我还想从电话里收到电子邮件。我收到很多信息,但不是电子邮件。有人能帮忙吗

HttpGet request = new HttpGet("https://www.googleapis.com/plus/v1/people/me?scope=https://www.googleapis.com/auth/userinfo.email");
request.setHeader("Authorization", "Bearer <access_token>");
HttpResponse response = client.execute(request);
HttpGet请求=新的HttpGet(“https://www.googleapis.com/plus/v1/people/me?scope=https://www.googleapis.com/auth/userinfo.email");
请求。setHeader(“授权”、“持有人”);
HttpResponse response=client.execute(请求);

编辑:2013年12月,作为改进的Google+登录选项的一部分进行了更新-您现在可以通过Google+个人资料回复获得电子邮件地址

只要您有电子邮件或作用域,您就会从此端点收到电子邮件。有关详细信息,请参阅

var request = gapi.client.plus.people.get( {'userId' : 'me'} );
request.execute(function(person) {
  if(person['emails']) {
    console.log(person['emails'][0].value);
  }
});

编辑:2013年12月,作为改进的Google+登录选项的一部分进行了更新-您现在可以通过Google+个人资料回复获得电子邮件地址

只要您有电子邮件或作用域,您就会从此端点收到电子邮件。有关详细信息,请参阅

var request = gapi.client.plus.people.get( {'userId' : 'me'} );
request.execute(function(person) {
  if(person['emails']) {
    console.log(person['emails'][0].value);
  }
});
我找到了答案。 我的目标也是这样。 我们可以成功地做到:)

你需要:

  • 同意

  • accessToken

  • 在上面两个之后,只需发出HTTP GET请求即可

    但添加了标题“授权:承载

    你可以用很多方法来做。 我的方式是定制休息通话

    package com.google.plus.samples.photohunt.custom;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    public class NetClientGet {
    
    // http://localhost:8080/RESTfulExample/json/product/get
    public static void makeRequest(String access_token) {
    
      try {
    
        URL url = new URL("https://www.googleapis.com/oauth2/v2/userinfo");
    
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestProperty("Authorization", "Bearer "+access_token);
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Accept", "application/json");
    
        if (conn.getResponseCode() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + conn.getResponseCode());
        }
    
        BufferedReader br = new BufferedReader(new InputStreamReader(
            (conn.getInputStream())));
    
        String output;
        System.out.println("REST call made. Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }
    
        conn.disconnect();
    
      } catch (MalformedURLException e) {
    
        e.printStackTrace();
    
      } catch (IOException e) {
    
        e.printStackTrace();
    
      }
    
    }
    
    }我找到了答案。 我的目标也是这样。 我们可以成功地做到:)

    你需要:

  • 同意

  • accessToken

  • 在上面两个之后,只需发出HTTP GET请求即可

    但添加了标题“授权:承载

    你可以用很多方法来做。 我的方式是定制休息通话

    package com.google.plus.samples.photohunt.custom;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    public class NetClientGet {
    
    // http://localhost:8080/RESTfulExample/json/product/get
    public static void makeRequest(String access_token) {
    
      try {
    
        URL url = new URL("https://www.googleapis.com/oauth2/v2/userinfo");
    
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestProperty("Authorization", "Bearer "+access_token);
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Accept", "application/json");
    
        if (conn.getResponseCode() != 200) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + conn.getResponseCode());
        }
    
        BufferedReader br = new BufferedReader(new InputStreamReader(
            (conn.getInputStream())));
    
        String output;
        System.out.println("REST call made. Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }
    
        conn.disconnect();
    
      } catch (MalformedURLException e) {
    
        e.printStackTrace();
    
      } catch (IOException e) {
    
        e.printStackTrace();
    
      }
    
    }
    

    }

    谢谢你的回答。这太糟糕了。为什么我必须调用两个不同的端点来完成一些你不再做的琐事!该电子邮件现在包含在plus.people.get中,如果提供了电子邮件范围,请获取响应。感谢您的回答。这太糟糕了。为什么我必须调用两个不同的端点来完成一些你不再做的琐事!如果提供了电子邮件范围,则电子邮件现在包含在plus.people.get响应中。该“承载者”是什么?@VishalVijay:Bearer实际上是google服务器在访问令牌开始之前查找的关键字。这是他们的约定。这是他们的约定。我正在使用url:,为什么我在服务器返回的HTTP响应代码中提到错误?url:?我们可以调用的所有Web服务列表是什么样的?那个“承载者”是什么?@VishalVijay:Bearer实际上是google服务器在访问令牌开始之前查找的关键字。这是他们的约定。这是他们的约定。我使用的是url:,为什么服务器返回的HTTP响应代码中提到错误:403针对url:?我们可以调用的所有Web服务列表是什么样的?