Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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 googledrivewebhook配置_Java_Google Drive Api_Webhooks - Fatal编程技术网

Java googledrivewebhook配置

Java googledrivewebhook配置,java,google-drive-api,webhooks,Java,Google Drive Api,Webhooks,我正在阅读google drive文档,但有点不清楚: 我必须为应用程序中的每个用户设置web钩子,还是只设置一次? java中有这种配置的例子吗? 如何通过光标检索用户的更改? 以下是我如何让用户对我的应用程序进行身份验证: @GET @Path("/start") public void start(@Context HttpServletRequest request, @Context HttpServletResponse response) throws IOExceptio

我正在阅读google drive文档,但有点不清楚:

我必须为应用程序中的每个用户设置web钩子,还是只设置一次? java中有这种配置的例子吗? 如何通过光标检索用户的更改? 以下是我如何让用户对我的应用程序进行身份验证:

@GET    
@Path("/start")
public void start(@Context HttpServletRequest request, @Context HttpServletResponse response) throws IOException {

    String url = initFlow().newAuthorizationUrl().setRedirectUri("http://localhost:8080/GDriveRest/app/gdrive/finish").build();
    response.sendRedirect(url);
}

@GET
@Path("/finish")
public void finish(@Context HttpServletRequest request, @Context HttpServletResponse response) throws IOException {

    AuthorizationCodeFlow flow = initFlow();
    flow.newTokenRequest(request.getParameter("code"));

    response.sendRedirect("http://m.memegen.com/1yx6o5.jpg?"+request.getParameter("code")+"&id="+flow.getClientId());
}

private AuthorizationCodeFlow initFlow() throws IOException {

    InputStream in = GDrive.class.getResourceAsStream("/client_secret.json");
    GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

    return new GoogleAuthorizationCodeFlow.Builder(new NetHttpTransport(), 
                                                   JacksonFactory.getDefaultInstance(), 
                                                   clientSecrets, SCOPES).setAccessType("offline").build();
}
如何设置webhooks?

您可以查看如何创建webhooks。Webhook可以使用不同的内容类型交付:

application/json内容类型将直接将json有效负载作为文章的主体交付。 application/x-www-form-urlencoded内容类型将以名为payload的表单参数的形式发送JSON负载。 关于如何为用户检索更改,可以使用在资源更改时通知应用程序的。要请求推送通知,您需要为要监视的每个资源设置通知通道。设置通知通道后,当任何监视的资源发生更改时,驱动器API将通知应用程序

使用该方法订阅更改日志的更新。通知不包含有关更改的详细信息。相反,它们表示有新的更改可用。要检索实际更改,请按照中所述轮询更改提要


希望这有帮助

我已成功创建了一个频道,但现在出现以下问题: