Что нового

VK API UDF - библиотека для работы с Vkontakte API

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
GenoTIP
Да вот проблема в том, что это случилось после обновления API ... Видимо это их косяк
 
G

GenoTIP

Гость
Вот что я увидел теперь.
Если менять статус, то вот что получается(При русской раскладке)..В Последних новостях ничего нету :scratch:
UPD Посмотрел код, никаких новостей и не должно быть..
UPD Пдо описанию функции в строке
Код:
$aAuth = _VK_SignIn($iApp_ID,"audio,notify,status")

"audio,notify,status" - это битовые маски, но тут они указываются цифрами, откуда строковые значения?
 

BestProTop

http://www.about.me/bestprotop
Сообщения
28
Репутация
3
Ребят у мя по прежнему все работает 8)

После изменения в api поменял только ссылку на авторизацию 'http://oauth.vk.com/blank.html'

Код:
Func _VK_SignIn($iAppID, $sScope, $sRedirect_uri = "http://oauth.vk.com/blank.html", $sDisplay = "wap", $sResponse_type = "token")
	Local $sOAuth_url = "https://oauth.vk.com/authorize?client_id=" & $iAppID & "&scope=" & $sScope & "&redirect_uri=" & $sRedirect_uri & "&display=" & $sDisplay & "&response_type=" & $sResponse_type
	Return __guiAccessToken($sOAuth_url, $iAppID & " - " & $sScope, $sRedirect_uri)
EndFunc


з.ы. - хотя вы уже вроде разобрались 8)

Короче, если вопросы буду - излагайте... у мя все пашет норм 8)
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
BestProTop
И Вы все время нажимаете на "Разрешить" ?
 

BestProTop

http://www.about.me/bestprotop
Сообщения
28
Репутация
3
Medic84

Нет, только при первом запуске... либо если использовал SingOut

(На всякий случай проверил... все прошло нормально... нажимать "Разрешить" не потребывалось)
 
G

GenoTIP

Гость
BestProTop
Как ты этого добился? у меня приходится нажимать каждый раз, что-то дописывал?
 

BestProTop

http://www.about.me/bestprotop
Сообщения
28
Репутация
3
Сейчас, я текст проги просмотрю... у меня этой проблемы просто изначально не было 8)
Как надумаю - отпишусь...

Кстати, интересный факт... только вчера дописывал пару функций в эту апи - все работало отлично... А сейчас начинают проскакивать ошибки "Error 6 - Too many requests per second"

Так что вполне возможно, что и в VK какие-то изменения произошли....

=========================

Вот на всякий случай непосредственно вызов функции:

Код:
Global $sSs=1+2+4+8+32+256+512+64+1024+4096+8192+2048+16+131072+65536+262144+524288+1048576+32768
$aA = _VK_SignIn($iID, $sSs, "http://oauth.vk.com/blank.html") ; авторизируемся через OAuth2.0 с доступом к друзьям, статусу, фотографиям и бесконечной длиной сесии
$aSt = StringRegExp(_VK_statusGet($aA[1]), "(?s)<text>(.*?)</text>", 1) ; получаем статус и парсим XML ответ



Добавлено:
Сообщение автоматически объединено:

ОООО 8)
Похоже и вправду, что с VK или с интернетом... Прога запустилась... - все, что в ней делал - работает 8)

GenoTIP

Отпишись, как у тебя все сработает с моим вызовом (тот пример что я выше писал...) И посмотрим - что можно придумать, если у тебя не получилось...
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
GenoTIP
Разобрался. Нужно из битовой маски убрать notify
Поправил на GitHub
 
G

GenoTIP

Гость
Код:
C:\autoit3\Include\VK_API.au3 (1387) : ==> Variable must be of type "Object".:
$oSC.Language = "JavaScript"
$oSC^ ERROR
Я сначала скачал с гихаба исходники, всё работало, а сейчас я непроизвольно удалял че-то менял и пришлось заного перекачать udf, теперь вот что появилось.. может просто на гитхабе опять таки обновились файлы, но уже с ошибкой, не знаю...

UPD отключил wrapper, все заработало... :stars:
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Проверьте последнюю функцию.
Код:
Func _Encoding_URIEncode($sString)
	Local $oSC = ObjCreate("ScriptControl")
	$oSC.Language = "JavaScript"
	Local $Encode_URI = $oSC.Eval("encodeURI('" & $sString & "');")

	$oSC = 0

	Return $Encode_URI
EndFunc   ;==>_Encoding_URIEncode
 
G

GenoTIP

Гость
Да-да, она и есть. Wrapper`a 2 попробовал, на обоих ошибки, сейчас стоит отсюда http://www.autoitscript.com/site/autoit-script-editor/downloads/
без них нету ошибок, можнт я неправильно включил wrapper конечно..
на данный момент стоит
Код:
command.go.*.au3=$(autoit3dir)\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe /run /prod /ErrorStdOut /in "$(FilePath)" /autoit3dir "$(autoit3dir)" /UserParams $(1) $(2) $(3) $(4)
вместо
Код:
# command.go.*.au3=$(autoit3dir)\autoit3.exe "$(FilePath)"
внутри au3.properties
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
GenoTIP
Ладно, заменил более простым методом. А то вдруг что то с объектом...
Код:
Func _Encoding_URIEncode($sData)
    Local $nChar, $aData = StringSplit(BinaryToString(StringToBinary($sData,4),1),"")
	$sData = ""

    For $i = 1 To $aData[0]
        $nChar = Asc($aData[$i])
        Switch $nChar
            Case 45, 46, 48-57, 65 To 90, 95, 97 To 122, 126
                $sData &= $aData[$i]
            Case 32
                $sData &= "+"
            Case Else
                $sData &= "%" & Hex($nChar,2)
        EndSwitch
    Next

    Return $sData
EndFunc


Код:
# Commands to compile / run your script
command.go.$(au3)="$(SciteDefaultHome)\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "$(FilePath)" /UserParams $(1) $(2) $(3) $(4)
command.go.subsystem.$(au3)=1
command.compile.$(au3)="$(SciteDefaultHome)\AutoIt3Wrapper\AutoIt3Wrapper.exe" /ShowGui /in "$(FilePath)"
command.compile.filter.$(au3)=1
command.build.$(au3)="$(SciteDefaultHome)\AutoIt3Wrapper\AutoIt3Wrapper.exe" /prod /in "$(FilePath)"
command.build.filter.$(au3)=1
Мои настройки из сборки.
 
G

GenoTIP

Гость
Добавил поиск, скорее всего каждому под себя надо будет подровнять, т.к. не думаю что у меня всё так как нужно было бы любому, но всё же вот код.

Кстати поиск не разрешает находить более 500 вариантов, а оффсет это подтверждает.

Код:
$set_fields = "NAME, online,activity, sex, bdate, city, country, screen_name, photo,"

$test = _VK_usersSearch(1000, "Поиск",$set_fields&" ")
_ArrayDisplay($test)

Func _VK_usersSearch($_count, $_q,  $_fields="", $_offset="")
	
	Local $sResponse 
	Local $arr_fields, $find_in_fields, $find_field_count=0
		
	$_q = _Encoding_URIEncode($_q)
	$sResponse = BinaryToString(InetRead("https://api.vkontakte.ru/method/users.search.xml?q="& $_q &"&fields="& $_fields &"&count="& $_count &"&offset="& $_offset &"&access_token=" & $_sAccessToken), 4)
	If _VK_CheckForError($sResponse) Then
		Return SetError(1, 0, _VK_CheckForError($sResponse))
	Else

		$arr_fields = StringRegExp($_fields, "(\w+)[,|\s]", 3)
		Local $arr_General[1][UBound($arr_fields)] ,$f,$l,$uid; Конечный массив
		$user_group = StringRegExp($sResponse, "(?si)<user>(.*?)</user>", 3)
		For $iUsers = 0 To UBound($user_group)-1 ;$find_count[0]
			For $iField = 0 To UBound($arr_fields)-1
				$f = _CreateArray($user_group[$iUsers], "first_name")
				$l = _CreateArray($user_group[$iUsers], "last_name")
				$uid = _CreateArray($user_group[$iUsers], "uid")
				 $in_u_group= StringRegExp($user_group[$iUsers], "<"& $arr_fields[$iField] &">(.*?)</"& $arr_fields[$iField] &">", 3)
				 If Not @error Then 
					 $arr_General[$iUsers][0] =$f[0]&" "&$l[0] &"("&$uid[0] &")"
					 $arr_General[$iUsers][$iField]=$in_u_group[0]
				EndIf
				ReDim $arr_General[$iUsers+1][UBound($arr_fields)]
			Next
		Next
		If IsArray($arr_General) Then
			Return $arr_General
		Else
			Return ""
		EndIf
	EndIf
EndFunc   ;==>_VK_usersSearch
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
2 BestProTop
Пролестал парочку страниц и увидел в вашем коде такую строчку:
Код:
Global $sSs=1+2+4+8+32+256+512+64+1024+4096+8192+2048+16+131072+65536+262144+524288+1048576+32768

В результате
Код:
$sSs=2080639


На сколько я понял это у Вас выдаются "Права доступа приложений" ???

Full Access – это 16127 (без ссылки на приложение), 16383 (с ссылкой на приложение)
 

BestProTop

http://www.about.me/bestprotop
Сообщения
28
Репутация
3
2 ---Zak---

Да, все верно... Это права на использование тех или иных функций апи 8)

Про полные права я не находил... но попробовать вариант, который Вы цитировали стоит 8)


Добавлено:
Сообщение автоматически объединено:

2 GenoTIP

Проверим потом 8) Молодец, что выложил 8)

====

Я потом приведу свои наработки в достойный вид, да тоже выложу 8)
Думаю, кому-то это может понадобиться 8)
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
2 BestProTop
Извини, мое мнение ошибочно. Перепроверил 2080639 получает больше прав для работы, чем 16127. Возможно очередное введение...

ЗЫ: а я думал, что для Desktop-приложений действуют все основные и расширенные методы - оказывается нет.
 
G

GenoTIP

Гость
У кого-нибудь есть готовая http://vk.com/developers.php?oid=-1&p=messages.send ? можно отправлять сообщения любому пользователю или только друзьям? как узнать chat_id если, к примеру, беседа должна начаться новая, то есть сообщений к пользователю не было, соответственно и идентификатор беседы не существует.

UPD
Код:
Func _VK_messages_send($uid,$message,$title = "")
	Local $sResponse 
	$message = _Encoding_URIEncode($message)
	$title= _Encoding_URIEncode($title)
	$sResponse = BinaryToString(InetRead("https://api.vkontakte.ru/method/messages.send.xml?uid="& $uid & "&chat_id="& $uid &"&message="& $message &"&title="& $title &"&access_token=" & $_sAccessToken), 4)
; 		MsgBox(64,"",$sResponse)
	If _VK_CheckForError($sResponse) Then
		Return SetError(1, 0, _VK_CheckForError($sResponse))
	EndIf
EndFunc   ;==>_VK_messages_send

Отправляют всем, не важно в списке друзей или нет.

UPD
Есть у кого какие мылси ,как можно получать как можно больше информации о пользователях, хватало бы и поиска, но offset не работает, парсить совсем не хочется..=(


Добавлено:
Сообщение автоматически объединено:

Почему сначала всё работало, а теперь выдает ошибку при отправке сообщения: Permission to perform this action is denied by user.
 
Верх