OAuth访问令牌无法在Mule中获取

时间:2017-04-05 12:35:33

标签: mule

我试图通过在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)

1 个答案:

答案 0 :(得分:0)

如果您正在制作新连接器而不是常见问题。 肯定是,Access_token正在生成,但由于错误的正则表达式,mule无法访问它。 这是因为接受

的默认正则表达式
accessTokenRegex = "\"access_token\":\"([^&]+?)\"", 

请在

之间添加空格

<强>

像这样,

accessTokenRegex = "\"access_token\" : \"([^&]+?)\"", 

这将解决您的问题。