|
3 | 3 | import java.nio.charset.Charset; |
4 | 4 | import java.security.MessageDigest; |
5 | 5 | import java.security.NoSuchAlgorithmException; |
6 | | -import java.util.ArrayList; |
7 | | -import java.util.Collections; |
8 | 6 | import java.util.HashMap; |
9 | | -import java.util.List; |
10 | 7 | import java.util.Map; |
11 | 8 | import java.util.Scanner; |
12 | 9 | import com.github.scribejava.core.builder.ServiceBuilder; |
|
19 | 16 | import com.github.scribejava.core.oauth.OAuth20Service; |
20 | 17 | import java.io.IOException; |
21 | 18 | import java.util.concurrent.ExecutionException; |
| 19 | +import java.util.stream.Collectors; |
| 20 | +import java.util.stream.Stream; |
22 | 21 |
|
23 | 22 | public final class RenrenExample { |
24 | 23 |
|
@@ -69,20 +68,19 @@ public static void main(String... args) throws IOException, InterruptedException |
69 | 68 | parameters.put("format", "json"); |
70 | 69 | parameters.put("v", "1.0"); |
71 | 70 |
|
72 | | - final List<String> sigString = new ArrayList<>(parameters.size() + 1); |
73 | | - for (Map.Entry<String, String> entry : parameters.entrySet()) { |
74 | | - request.addQuerystringParameter(entry.getKey(), entry.getValue()); |
75 | | - sigString.add(String.format("%s=%s", entry.getKey(), entry.getValue())); |
76 | | - } |
77 | | - sigString.add(String.format("%s=%s", OAuthConstants.ACCESS_TOKEN, accessToken.getAccessToken())); |
78 | | - Collections.sort(sigString); |
79 | | - final StringBuilder b = new StringBuilder(); |
80 | | - for (String param : sigString) { |
81 | | - b.append(param); |
82 | | - } |
83 | | - b.append(apiSecret); |
84 | | - System.out.println("Sig string: " + b.toString()); |
85 | | - request.addQuerystringParameter("sig", md5(b.toString())); |
| 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()); |
| 81 | + |
| 82 | + System.out.println("Sig string: " + sig); |
| 83 | + request.addQuerystringParameter("sig", md5(sig)); |
86 | 84 | service.signRequest(accessToken, request); |
87 | 85 | final Response response = service.execute(request); |
88 | 86 | System.out.println("Got it! Lets see what we found..."); |
|
0 commit comments