这是我当前解决方案的要点。
在 Parse 方面,我发送了一个如下所示的 http 请求:
// Within a /verify_credentials webhook
Parse.Cloud.httpRequest({
method: 'GET',
url: req.get(headers[0]),
headers: {'Authorization': req.get(headers[1])},
success: function(httpResponse) {
var obj = JSON.parse(httpResponse.text);
res.status(httpResponse.status).send("success");
},
error: function(httpResponse) {
res.status(400).json({
error: 'Unable to make a twitter request'
});
}
});
在 Android 方面,我向 Parse 服务器发送了一个 http 请求,其中包含标头中的 Parse 会话信息:
TwitterAuthConfig authConfig = TwitterCore.getInstance().getAuthConfig();
// Cast from AuthToken to TwitterAuthToken
TwitterAuthToken authToken = (TwitterAuthToken)session.getAuthToken();
OAuthSigning oAuthSigning = new OAuthSigning(authConfig, authToken);
// First value should be the location we're querying to twitter.
// The second is the actual validation information
Map<String, String> authHeaders = oAuthSigning.getOAuthEchoHeadersForVerifyCredentials();
try {
cloud.verifyCredentials(
authHeaders.get("X-Auth-Service-Provider"),
authHeaders.get("X-Verify-Credentials-Authorization"),
session.getId(),
callback);
}