|
15 | 15 | import com.github.scribejava.core.model.Verb; |
16 | 16 | import com.github.scribejava.core.oauth.OAuth20Service; |
17 | 17 | import java.io.IOException; |
| 18 | +import java.util.ArrayList; |
| 19 | +import java.util.Collections; |
18 | 20 | import java.util.Formatter; |
| 21 | +import java.util.List; |
19 | 22 | import java.util.concurrent.ExecutionException; |
20 | | -import java.util.stream.Collectors; |
21 | | -import java.util.stream.Stream; |
22 | 23 |
|
23 | 24 | public final class RenrenExample { |
24 | 25 |
|
@@ -68,17 +69,20 @@ public static void main(String... args) throws IOException, InterruptedException |
68 | 69 | parameters.put("format", "json"); |
69 | 70 | parameters.put("v", "1.0"); |
70 | 71 |
|
71 | | - parameters.forEach((key, value) -> request.addQuerystringParameter(key, value)); |
72 | | - |
73 | | - final String sig = Stream.concat( |
74 | | - Stream.concat( |
75 | | - parameters.entrySet().stream() |
76 | | - .map(entry -> String.format("%s=%s", entry.getKey(), entry.getValue())), |
77 | | - Stream.of(String.format("%s=%s", OAuthConstants.ACCESS_TOKEN, accessToken.getAccessToken()))) |
78 | | - .sorted(), |
79 | | - Stream.of(apiSecret)) |
80 | | - .collect(Collectors.joining()); |
| 72 | + final List<String> sigString = new ArrayList<>(parameters.size() + 1); |
| 73 | + for (Map.Entry<String, String> parameter : parameters.entrySet()) { |
| 74 | + request.addQuerystringParameter(parameter.getKey(), parameter.getValue()); |
| 75 | + sigString.add(String.format("%s=%s", parameter.getKey(), parameter.getValue())); |
| 76 | + } |
| 77 | + sigString.add(String.format("%s=%s", OAuthConstants.ACCESS_TOKEN, accessToken.getAccessToken())); |
| 78 | + Collections.sort(sigString); |
| 79 | + final StringBuilder sigBuilder = new StringBuilder(); |
| 80 | + for (String param : sigString) { |
| 81 | + sigBuilder.append(param); |
| 82 | + } |
| 83 | + sigBuilder.append(apiSecret); |
81 | 84 |
|
| 85 | + final String sig = sigBuilder.toString(); |
82 | 86 | System.out.println("Sig string: " + sig); |
83 | 87 | request.addQuerystringParameter("sig", md5(sig)); |
84 | 88 | service.signRequest(accessToken, request); |
|
0 commit comments