小编Mor*_*gan的帖子

如何从Credential对象获取用户ID令牌?

我一直在关注教程,将Google登录支持包含在我的桌面应用中.我正在使用的图书馆是这个.

一切正常,这是authorize()方法的实现:

public Credential authorize() throws IOException {
    // Load client secrets.
    InputStream in = GoogleLogin.class.getResourceAsStream("/google/client_secret.json");
    GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

    // Build flow and trigger user authorization request.
    GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
            HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
            .setDataStoreFactory(DATA_STORE_FACTORY)
            .setAccessType("offline")
            .build();

    Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");

    System.out.println("Credentials saved to " + DATA_STORE_DIR.getAbsolutePath());
    return credential;
}
Run Code Online (Sandbox Code Playgroud)

但是,从一个Credential对象,我只能通过调用来检索访问令牌Credential.getAccessToken(),但我需要的是id token.如何在用户通过身份验证后从用户检索id_token?

java google-api-java-client google-oauth2

17
推荐指数
1
解决办法
1626
查看次数

正则表达式匹配$符号后跟任何单词并保留单词

我试图为此提出正则表达式,但无济于事.以下是我需要的一些例子.[]表示数组作为输出.

输入

Hello $World
Run Code Online (Sandbox Code Playgroud)

产量

[$World]
Run Code Online (Sandbox Code Playgroud)

输入

My name is $John Smith and I like $pancakes
Run Code Online (Sandbox Code Playgroud)

产量

[$John, $pancakes]
Run Code Online (Sandbox Code Playgroud)

我设法提出这个,它匹配模式,但不保留它找到的单词.

String test = "My name $is John $Smith";
String[] testSplit = test.split("(\\$\\S+)");
System.out.println(testSplit);
Run Code Online (Sandbox Code Playgroud)

产量

[My name ,  John ]
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它完全吞噬了我需要的单词,更具体地说,是与模式相匹配的单词.我怎么能让它返回一个只有我需要的单词的数组?(如例子所示)

java regex

3
推荐指数
1
解决办法
532
查看次数

让Selenium Chrome驱动程序启动“真正的” Chrome

当运行Selenium的应用程序使用Chrome驱动程序时,它将使用主配置文件启动与Chrome无关的独立版本的Chrome,该主配置文件包含我们的搜索历史记录,密码,Cookie等。

有没有办法告诉Chrome驱动程序启动“真正的” Chrome,而不是独立版本?我想这可能是安全漏洞,但我想知道。

selenium google-chrome selenium-chromedriver

2
推荐指数
1
解决办法
476
查看次数

在 CodeMirror 中突出显示活动行

看看这里的演示,我下载了该active-line.js文件并将其包含在我的 HTML 中,如演示中所示,但没有任何反应。我像这样包含它:

<script src="/js/codemirror.js"></script>
<script src="/js/sql.js"></script>
<script src="/js/active-line.js"></script>
<link rel="stylesheet" type="text/css" href="/css/codemirror.css">
Run Code Online (Sandbox Code Playgroud)

这就是我初始化 CodeMirror 的方式:

<script>
    CodeMirror.fromTextArea(document.getElementById("maple_code"), {
        lineNumbers: true,
        mode: "text/x-mysql"
    });
</script>
Run Code Online (Sandbox Code Playgroud)

语法突出显示和行号按其应有的方式工作,但活动行突出显示除外。我还需要调整选项中的任何内容吗?

javascript codemirror

2
推荐指数
1
解决办法
5106
查看次数

防止 Jackson XML 映射器将 wstxns 添加到命名空间

将对象序列化为 XML 并使用 \n @JacksonXmlRootElement(namespace = "http://...")\n指定属性的命名空间时,Jackson 会将 \xc2\xb4wstxns1\xc2\xb4 附加或前置到命名空间。例如,假设我们有这些类:

\n\n

VtexSkuAttributeValues.java

\n\n
@JacksonXmlRootElement(localName = "listStockKeepingUnitName")\npublic class VtexSkuAttributeValues {\n\n    @JacksonXmlProperty(localName = "StockKeepingUnitFieldNameDTO", namespace = "http://schemas.datacontract.org/2004/07/Vtex.Commerce.WebApps.AdminWcfService.Contracts")\n    @JacksonXmlElementWrapper(useWrapping = false)\n    private VtexSkuAttributeValue[] stockKeepingUnitFieldNameDTO;\n\n    public VtexSkuAttributeValue[] getStockKeepingUnitFieldNameDTO() {\n        return stockKeepingUnitFieldNameDTO;\n    }\n\n    public void setValues(VtexSkuAttributeValue[] values) {\n        this.stockKeepingUnitFieldNameDTO = values;\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

VtexSkuAttributeValue.java

\n\n
@JacksonXmlRootElement(localName = "StockKeepingUnitFieldNameDTO", namespace = "http://schemas.datacontract.org/2004/07/Vtex.Commerce.WebApps.AdminWcfService.Contracts")\npublic class VtexSkuAttributeValue {\n\n    private String fieldName;\n    private FieldValues fieldValues;\n    private int idSku;\n\n    public int getIdSku() {\n        return idSku;\n    }\n\n    public String getFieldName() {\n …
Run Code Online (Sandbox Code Playgroud)

java xml jackson jackson-dataformat-xml

2
推荐指数
1
解决办法
7914
查看次数

仅在 MySQL 中显示特定数据库的函数和过程

每当我执行SHOW PROCEDURE STATUS或 时SHOW FUNCTION STATUS,引擎都会向我显示我所有数据库中的过程和函数,而不是我当前连接的数据库。

有没有一种方法可以仅从一个特定的数据库中列出和/或检索有关过程和函数的信息?例如,如果我在数据库“People”中,我希望查询仅显示该数据库中存在的函数和过程。

mysql stored-procedures stored-functions mariadb

1
推荐指数
1
解决办法
2991
查看次数