我试图通过在Mule Connector中实现Oauth2来使用google api。但是,即使我设置了正确的凭证,我也无法获取Oauth访问令牌。
Root Exception stack trace:
java.lang.IllegalArgumentException: OAuth access token could not be extracted from: {
"access_token" : "ya29.GlzxA5CJ8FcIay3YXE7sG2spkYYfkcTei6NW_gunsIPW2kSYJToKh1oOyUwkRoy-p-iuGIwLsi5gKvzhZQPMY9wjPkdxR6YJYVswtR3K3iGXlidqbp1_LAQoEHoX0w",
"expires_in" : 3599,
"token_type" : "Bearer"
}
at org.mule.security.oauth.util.DefaultOAuthResponseParser.extractAccessCode(DefaultOAuthResponseParser.java:36)
at org.mule.security.oauth.BaseOAuth2Manager.fetchAndExtract(BaseOAuth2Manager.java:586)
at org.mule.security.oauth.BaseOAuth2Manager.fetchAccessToken(BaseOAuth2Manager.java:432)
at org.mule.modules.drivecon2.adapters.DriveCon2ConnectorOAuth2Adapter.fetchAccessToken(DriveCon2ConnectorOAuth2Adapter.java:207)
答案 0 :(得分:0)
如果您正在制作新连接器而不是常见问题。 肯定是,Access_token正在生成,但由于错误的正则表达式,mule无法访问它。 这是因为接受
的默认正则表达式accessTokenRegex = "\"access_token\":\"([^&]+?)\"",
请在
之间添加空格<强> 强>
像这样,accessTokenRegex = "\"access_token\" : \"([^&]+?)\"",
这将解决您的问题。