Skip to content

Commit 08a2a90

Browse files
committed
Access fix
1 parent 291749f commit 08a2a90

File tree

3 files changed

+45
-5
lines changed

3 files changed

+45
-5
lines changed

src/main/java/ru/spliterash/vkVideoUnlocker/video/api/Videos.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ interface Videos {
1717
name: String,
1818
private: Boolean,
1919
accessor: VideoAccessor,
20-
progressMeter: ProgressMeter = ProgressMeter { _, _ -> }
20+
progressMeter: ProgressMeter = ProgressMeter { _, _ -> },
2121
): String
2222
}

src/main/java/ru/spliterash/vkVideoUnlocker/video/api/VideosImpl.kt

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,56 @@ class VideosImpl(
4646
return video
4747
}
4848

49+
private suspend fun fixAccess(id: String, private: Boolean) {
50+
val split = id.split("_")
51+
52+
VkConst.requestBuilder()
53+
.get()
54+
.addHeader(
55+
"user-agent",
56+
USER_AGENT
57+
)
58+
.url(
59+
VkConst.urlBuilder("video.add")
60+
.addQueryParameter("target_id", split[0])
61+
.addQueryParameter("owner_id", split[0])
62+
.addQueryParameter("video_id", split[1])
63+
.build()
64+
)
65+
.build()
66+
.executeAsync(client)
67+
.readResponse(helper, object : TypeReference<Unit>() {})
68+
VkConst.requestBuilder()
69+
.get()
70+
.addHeader(
71+
"user-agent",
72+
USER_AGENT
73+
)
74+
.url(
75+
VkConst.urlBuilder("video.edit")
76+
.addQueryParameter("owner_id", split[0])
77+
.addQueryParameter("video_id", split[1])
78+
.addQueryParameter("privacy_view", if (private) "3" else "0")
79+
.build()
80+
)
81+
.build()
82+
.executeAsync(client)
83+
.readResponse(helper, object : TypeReference<Unit>() {})
84+
}
85+
4986
override suspend fun upload(
5087
groupId: Long,
5188
name: String,
5289
private: Boolean,
5390
accessor: VideoAccessor,
54-
progressMeter: ProgressMeter
91+
progressMeter: ProgressMeter,
5592
): String {
5693
val url = VkConst.requestBuilder()
5794
.get()
5895
.url(
5996
VkConst.urlBuilder("video.save")
6097
.addQueryParameter("name", name)
61-
.addQueryParameter("privacy_view", if (private) "3" else "0")
98+
.addQueryParameter("privacy_view", "0")
6299
.addQueryParameter("group_id", groupId.toString())
63100
.addQueryParameter("target", "post")
64101
.build()
@@ -69,7 +106,10 @@ class VideosImpl(
69106
.uploadUrl
70107
val id = commons.upload(url, accessor, progressMeter)
71108

72-
return "-${groupId}_${id}"
109+
val videoId = "-${groupId}_${id}"
110+
fixAccess(videoId, private)
111+
112+
return videoId
73113
}
74114

75115
companion object {

src/main/java/ru/spliterash/vkVideoUnlocker/vk/VkHelper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class VkHelper(
2626

2727
fun <T> readResponse(response: Response, type: TypeReference<T>): T {
2828
val node = checkAndGetResponse(response)
29-
29+
if (type.type == Unit::class.java) return Unit as T
3030
return try {
3131
mapper.convertValue(node, type)
3232
} catch (ex: IllegalArgumentException) {

0 commit comments

Comments
 (0)