|
@@ -186,15 +186,15 @@ public class AdqMaterialReportServiceImpl implements IAdqMaterialReportService {
|
|
|
Map<String, JSONObject> videoInfoMap = getVideoInfoMap(advertiserId, accessToken, filterMissIds(videoIds, videoLinkMap));
|
|
Map<String, JSONObject> videoInfoMap = getVideoInfoMap(advertiserId, accessToken, filterMissIds(videoIds, videoLinkMap));
|
|
|
Map<String, JSONObject> imageLinkToSave = new HashMap<>();
|
|
Map<String, JSONObject> imageLinkToSave = new HashMap<>();
|
|
|
for (Map.Entry<String, String> entry : imageUrlMap.entrySet()) {
|
|
for (Map.Entry<String, String> entry : imageUrlMap.entrySet()) {
|
|
|
- JSONObject linkInfo = new JSONObject().fluentPut("material_link", entry.getValue());
|
|
|
|
|
|
|
+ JSONObject linkInfo = new JSONObject().fluentPut("material_link", toHttps(entry.getValue()));
|
|
|
imageLinkMap.put(entry.getKey(), linkInfo);
|
|
imageLinkMap.put(entry.getKey(), linkInfo);
|
|
|
imageLinkToSave.put(entry.getKey(), linkInfo);
|
|
imageLinkToSave.put(entry.getKey(), linkInfo);
|
|
|
}
|
|
}
|
|
|
Map<String, JSONObject> videoLinkToSave = new HashMap<>();
|
|
Map<String, JSONObject> videoLinkToSave = new HashMap<>();
|
|
|
for (Map.Entry<String, JSONObject> entry : videoInfoMap.entrySet()) {
|
|
for (Map.Entry<String, JSONObject> entry : videoInfoMap.entrySet()) {
|
|
|
JSONObject linkInfo = new JSONObject()
|
|
JSONObject linkInfo = new JSONObject()
|
|
|
- .fluentPut("material_link", entry.getValue().getString("preview_url"))
|
|
|
|
|
- .fluentPut("cover_link", entry.getValue().getString("key_frame_image_url"));
|
|
|
|
|
|
|
+ .fluentPut("material_link", toHttps(entry.getValue().getString("preview_url")))
|
|
|
|
|
+ .fluentPut("cover_link", toHttps(entry.getValue().getString("key_frame_image_url")));
|
|
|
videoLinkMap.put(entry.getKey(), linkInfo);
|
|
videoLinkMap.put(entry.getKey(), linkInfo);
|
|
|
videoLinkToSave.put(entry.getKey(), linkInfo);
|
|
videoLinkToSave.put(entry.getKey(), linkInfo);
|
|
|
}
|
|
}
|
|
@@ -261,6 +261,17 @@ public class AdqMaterialReportServiceImpl implements IAdqMaterialReportService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 腾讯返回的preview_url是http协议,统一转https前缀(浏览器https页面引用http图片会被拦mixed content);
|
|
|
|
|
+ * 只替换开头前缀,不动URL其他部分
|
|
|
|
|
+ */
|
|
|
|
|
+ private String toHttps(String url) {
|
|
|
|
|
+ if (url != null && url.startsWith("http://")) {
|
|
|
|
|
+ return "https://" + url.substring("http://".length());
|
|
|
|
|
+ }
|
|
|
|
|
+ return url;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private List<String> filterMissIds(List<String> materialIds, Map<String, JSONObject> cacheMap) {
|
|
private List<String> filterMissIds(List<String> materialIds, Map<String, JSONObject> cacheMap) {
|
|
|
List<String> missIds = new ArrayList<>();
|
|
List<String> missIds = new ArrayList<>();
|
|
|
for (String id : materialIds) {
|
|
for (String id : materialIds) {
|