Ответы пользователя по тегу JavaScript
  • Как сделать команду удалить содержимое по кнопке delete?

    rusld
    @rusld
    API, Blockchain, Go
    Вот можете прям это в браузер вставить)
    <style>
    x-field{
    display:inline;
    position:relative;
    }
    x-field .close {
    position:absolute;
    padding:0 5px;
    right:0;
    }
    </style>
    <x-field>
    <input type="text" id = "text">
    <span class="close" onclick="this.previousElementSibling.value = ''">
    &times;
    </span>
    </x-field>
    Ответ написан
  • Почему Client API ВК не дает прав доступа для методов с ключом доступа сообщества?

    rusld
    @rusld Автор вопроса
    API, Blockchain, Go
    Вообщем решение такое нашел. И как бы даже более логично чем мой первый план по организации запроса к апи ВК. Я изначально предполагал, что после разрешения прав доступа на группу администратором, токен доступа от имени группы возвращается и сохраняется где нибудь в Client API, и таким образом при вызове функций его требующих, подставляется автоматически. Но мои ванильные мечты потерпели фиаско. После получения ключа его нужно пустить в дело, путем передачи на сервер, с которого запущено приложение, а там уже вызывать метода VK API:
    Client (JS):
    VK.init(function() {
      $('#item_addserver').on('click', function() {
        // Запрашиваем права доступа
        accessGroup();
      });
    });
    
    function accessGroup() {
      VK.callMethod("showGroupSettingsBox", 262144);
      VK.addCallback('onGroupSettingsChanged', function(settings, grp_token){ 
    		addServer(grp_token); 
    	});
    
      VK.addCallback('onGroupSettingsCancel', function(){ 
        alert("Отказ в доступе"); 
      });
    }
    
    // Добавление сервера
    function addServer(gtoken) {
    	$.get('https://mymo.info/api.php', 
    		{
    			"viewer_id": the_viewer_id,
    			"secret": the_secret,
    			"method": "add_server",
    			"group_access_token": gtoken,
    			"group_id": the_group_id
    		},
    		function(data) {
    			alert('addserver: ' + data);
    		});
    }


    Сервер (PHP):

    // ... дополнительная обработка подключений к своему API
    /* создает новый сервер */
    	function add_server() {
    		//print_r($_GET);
    		$access_token = clearStr($_GET['group_access_token']);
    		$group_id = clearInt($_GET['group_id']);
    		
    		//print "$group_id\n$access_token";
    		
    		$api_params = array(
    			"group_id" => $group_id,
    			"access_token" => $access_token,
    			"v" => VK_API_VERSION
    		);
    		
    		$get_query_string = http_build_query($api_params);
    		$api_request = 'https://api.vk.com/method/groups.getCallbackServers?'.$get_query_string;
    		
    		//print $get_query_string;
    		
    		$api_result = file_get_contents($api_request);
    		
    		print $api_result;
    	}


    Вот теперь работает :)
    5c0944e3cf23a677455306.png
    Ответ написан
    Комментировать