gpt4 book ai didi

java - Google 云端硬盘网络 Hook 配置

转载 作者:行者123 更新时间:2023-12-02 12:31:13 24 4
gpt4 key购买 nike

我正在阅读谷歌驱动器文档,但有点不清楚:

  • 我必须为应用程序上的每个用户设置网络 Hook ,还是只设置一次?
  • 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();
}

如何设置网络钩子(Hook)?

最佳答案

您可以查看这个documentation关于如何创建 webhook。 Webhooks 可以使用不同的内容类型进行传递:

  • application/json 内容类型将直接将 JSON 负载作为 POST 正文传递。
  • application/x-www-form-urlencoded 内容类型会将 JSON 负载作为名为“payload”的表单参数发送。

关于如何检索用户的更改,您可以使用 push notifications当资源发生变化时通知您的应用程序。要请求推送通知,您需要为您想要观看的每个资源设置一个通知 channel 。设置通知 channel 后,当任何监视的资源发生变化时,Drive API 将通知您的应用程序。

Use the changes.watch method to subscribe for updates to the change log. Notifications do not contain details about the changes. Instead, they indicate that new changes are available. To retrieve the actual changes, poll the change feed as described in Retrieving changes.

希望这有帮助!

关于java - Google 云端硬盘网络 Hook 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45276135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com