Спасибо за пример! вопрос почему я не нашел его в ВК можжно ткнуть носом если можно = ) хорошо бы включить в VKAPIЕсли кому интересно, то Logout из приложения можно выполнить так:
Func __guiAccessToken($_sURI, $_sGUITitle, $_sRedirect_uri)
Local $oIE = _IECreateEmbedded()
Local $hTimer = TimerInit()
$_hATgui = GUICreate($_sGUITitle, 400, 300, -1, -1, $WS_SYSMENU)
GUICtrlCreateObj($oIE, 5, 5, 385, 260)
_IENavigate($oIE, $_sURI)
$sResponse = _IEBodyReadText($oIE)
If StringInStr($sResponse, "Login success") Then
$sURL = _IEPropertyGet($oIE, "locationurl")
Return __responseParse($sURL)
EndIf
GUISetState(@SW_SHOW)
While 1
If GUIGetMsg()=$GUI_EVENT_CLOSE Then
Exit
ElseIf TimerDiff($hTimer) > 50 Then
$sURL = _IEPropertyGet($oIE, "locationurl")
If StringInStr($sURL, $_sRedirect_uri & "#") Then
GUISetState(@SW_HIDE)
$sResponse = _IEBodyReadText($oIE)
If StringInStr($sResponse, "Login success") Then
GUIDelete($_hATgui)
Return __responseParse($sURL)
Else
GUIDelete($_hATgui)
Return SetError(-1,0,-1)
EndIf
ElseIf StringInStr($sURL,'error') Then
Exit
EndIf
$hTimer = TimerInit()
EndIf
WEnd
EndFunc
; #FUNCTION# =================================================================================================
; Name...........: _VK_wallDelete()
; Description ...: Возвращает все фотографии пользователя или группы в антихронологическом порядке.
; Syntax.........: _VK_wallDelete($_sAccessToken, $_sPost_ID, $_sOwner_ID = "")
; Parameters ....: $_sAccessToken - ключ доступа выданный функцией авторизации.
; $_sPost_ID - идентификатор записи на стене пользователя.
; $_sOwnerID - идентификатор пользователя, на чьей стене необходимо удалить запись. Если параметр не задан, то он считается равным идентификатору текущего пользователя.
; Return values .: Успех - 1 и @error = 0.
; Неудача - Ошибка выданная сайтом и @error = 1
; Author ........: Medic84
; Remarks .......: Для вызова этой функции приложение должно иметь права с битовой маской, содержащей 8192.
; ============================================================================================================
Будут реальзованы большинство функций описанных в документации API VK, но как Вы понимаете не сразу...
; начало
Global $User_ID
; функция
Func __responseParse($_sResponse)
Local $aNArray = StringSplit($_sResponse, "&"), $aResArray[UBound($aNArray)], $_sStr
$aResArray[0] = UBound($aNArray) - 1
For $i = 1 To $aNArray[0]
$_sStr = StringSplit($aNArray[$i], "=")
$aResArray[$i] = $_sStr[2]
Next
$User_ID=$aResArray[3]
Return $aResArray[1]
EndFunc ;==>__responseParse
; при использовании
If $User_ID<>'' Then ...
If StringInStr($sResponse, "Login success") Then
$sURL = _IEPropertyGet($oIE, "locationurl")
Return __responseParse($sURL)
EndIf
If StringInStr($sResponse, "Login success") Then
$sURL = _IEPropertyGet($oIE, "locationurl")
Global $vc_UserID = StringRegExpReplace($sURL,"(.*)user_id=(\w+)(.*)$","\2")
Return __responseParse($sURL)
EndIf