@@ -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 {
0 commit comments