Giter VIP home page Giter VIP logo

vk's People

Contributors

1dndn avatar azhidkov avatar cactucatu4eckuu avatar deeplerg avatar dependabot[bot] avatar dex35 avatar earskilla avatar equuskk avatar guhbap avatar inok avatar inyutin-maxim avatar itsokto avatar ivanmem avatar justmavi avatar kkohno avatar mainefremov avatar mokeev1995 avatar mrapplexz avatar nijikilling avatar panuchi avatar peskovv avatar qwertyo1 avatar qwitriy avatar rahovski avatar sampletext32 avatar sel1 avatar soniclev avatar volshebniks avatar xiadosw avatar y0ung3r avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vk's Issues

NullReferenceException во время api.Photo.SaveWallPhoto()

Пытаюсь запостить фото в сообщество, на стену.
переменная _groupId - отрицательный ID группы.
ошибка возникает здесь -> var photo = api.Photo.SaveWallPhoto( // <- NullReferenceException //

...
public bool PostImage()
        {
            var imageFile = new DirectoryInfo("Images").GetFiles("*.jpg")[0];
            var api = new VkApi();
            var settings = Settings.All;
            api.Authorize(Int32.Parse(_appId), _username, _password, settings); 

            var uploadServer = api.Photo.GetWallUploadServer(-long.Parse(_groupId));
            var uploadServerUri = uploadServer.UploadUrl;
            var uploader = new WebClient();
            var uploadResponseInBytes = uploader.UploadFile(uploadServerUri, imageFile.FullName);
            var uploadResponseInString = Encoding.UTF8.GetString(uploadResponseInBytes);

            var jsonObject = (JObject)JsonConvert.DeserializeObject(uploadResponseInString);
            var hashParameter = jsonObject["hash"].ToString();
            var serverParameter = jsonObject["server"].ToString();
            var photoParameter = jsonObject["photo"].ToString();

            var photo = api.Photo.SaveWallPhoto( // <- NullReferenceException //
                photoParameter, 
                uploadServer.UserId, 
                -long.Parse(_groupId), 
                long.Parse(serverParameter),
                hashParameter);

            var attachments = new List<MediaAttachment> {photo};
            var result = api.Wall.Post(long.Parse(_groupId), false, true, "", attachments, null);

            return true;
        }

Ссылка на объект не указывает на экземпляр объекта.
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponse.cs:строка 75
в VkNet.Model.Attachments.Photo.FromJson(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Model\Attachments\Photo.cs:строка 144
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseToModelCastsGenerator.cs:строка 291
в VkNet.Categories.PhotoCategory.SaveWallPhoto(String photo, Nullable1 userId, Nullable1 groupId, Nullable`1 server, String hash) в d:\vs-projects\gt\vk\VkNet\Categories\PhotoCategory.cs:строка 398
в SocialCrossPoster.SocialPosters.VkontaktePoster.PostImage() в c:\Users\EatingPeopleIsFun\Documents\Visual Studio 2013\Projects\SocialCrossPoster\SocialCrossPoster\SocialPosters\VkontaktePoster.cs:строка 50

Подскажите, что делаю не так, или исправьте, пожалуйста.

IsDeleted returns always null value

Метод message.IsDeleted всегда возвращает null, независимо от того, удалено сообщение или нет

Необработанное исключение

Если в списке полученных сообщений методом messages.getHistory, есть репост происходит:
Необработанное исключение типа "VkNet.Exception.InvalidParameterException" в VkNet.dll
Дополнительные сведения: The type 'wall' of attachment is not defined.
Стек вызовов:

VkNet.dll!VkNet.Model.Attachments.Attachment.FromJson(VkNet.Utils.VkResponse response = {VkNet.Utils.VkResponse}) Строка 190 C#
VkNet.dll!VkNet.Utils.VkResponse.implicit operator VkNet.Model.Attachments.Attachment(VkNet.Utils.VkResponse response = {VkNet.Utils.VkResponse}) Строка 39 + 0x2e байт C#
VkNet.dll!VkNet.Utils.VkResponse.op_Implicit.AnonymousMethod__6(VkNet.Utils.VkResponse a = {VkNet.Utils.VkResponse}) Строка 44 + 0x8 байт C#

Ответ VK такой:

response: {
count: 1940,
items: [{
id: **,
body: '',
user_id: *__,
from_id: *
,
date: 1414993364,
read_state: 1,
out: 1,
attachments: [{
type: 'wall',
wall: {
id: ,
from_id: -
,
to_id: -
,
date: 1414992610,
post_type: 'post',
text: '',
attachments: [{
type: 'photo',
photo: {
id: *,
album_id: -7,
owner_id: -
,
user_id: *,
photo_75: 'https://pp.vk.me/...b/uKU7pKtHLe0.jpg',
photo_130: 'https://pp.vk.me/...c/WZJpkmJWBto.jpg',
photo_604: 'https://pp.vk.me/...d/Kp44mAbDqSk.jpg',
width: 604,
height: 402,
text: '',
date: 1414992613,
post_id: *
,
access_key: '
'
}
}],
post_source: {
type: 'api'
},
comments: {
count: 0,
can_post: 0
},
likes: {
count: 9191,
user_likes: 1,
can_like: 0,
can_publish: 1
},
reposts: {
count: 953,
user_reposted: 0
}
}
}]
}]
}

Issue #49 по-прежнему не решено?

Обновился, но по-прежнему выкидывает Exception на том же месте. Проверь еще разок, пожалуйста :)

A first chance exception of type 'System.NullReferenceException' occurred in VkNet.dll
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponse.cs:строка 75
в VkNet.Model.Attachments.Photo.FromJson(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Model\Attachments\Photo.cs:строка 144
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseToModelCastsGenerator.cs:строка 291
в VkNet.Categories.PhotoCategory.SaveWallPhoto(String photo, Nullable1 userId, Nullable1 groupId, Nullable`1 server, String hash) в d:\vs-projects\gt\vk\VkNet\Categories\PhotoCategory.cs:строка 398
в SocialCrossPoster.Model.SocialPosters.VkontaktePoster.Post(SocialMessage message) в c:\Users\EatingPeopleIsFun\Documents\Visual Studio 2013\Projects\SocialCrossPoster\SocialCrossPoster\Model\SocialPosters\VkontaktePoster.cs:строка 94

Перевод на версию 3.5 .net framework

Т.к. многопоточность сейчас не реализована перевести библиотеку на версию 3.5.

Для эмуляции использовать Task.Run(...).

Получение друзей траблы

обновил сегодня библиотеку, перестали получаться пользователи, так как возвращает устаревший ответ без ["items"]
добавил parameters.Add("v", "5.24"); в
[Pure]
[ApiVersion("5.24")]
public ReadOnlyCollection Get(long uid, ProfileFields fields = null, int? count = null, int? offset = null, FriendsOrder order = null, NameCase nameCase = null, int? listId = null)
{
...
}
и всё заработало. ну умаю понятно изложил.

Пост картинки на стену

  var api = new VkApi();
        api.Authorize(4521225, login, pwd, Settings.All);
        NameValueCollection nvc = new NameValueCollection();
        Dictionary<string, string> response = new Dictionary<string, string>();
        using (WebClient client = new WebClient())
        {
            byte[] responseByte = client.UploadFile(api.Photo.GetWallUploadServer(api.UserId).UploadUrl, @"D:\1.png");
            string s = client.Encoding.GetString(responseByte);
            response = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string,string>>(s);
        }

      var photo =   api.Photo.SaveWallPhoto(response["photo"],api.UserId,null, int.Parse(response["server"]), response["hash"]);

ответ invalid hash!!!!!!!!!

Source discussion https://vk.codeplex.com/discussions/562100

Парсер капчи

Разработать систему которая будет разбирать капчу по ее изображению.

Генератор юнит-тестов

  • с заданием параметров через атрибуты и Expressions.
  • поправить создание комментариев (добавление /// в начале)
  • Добавление атрибута ApiMethodName к генерируемым методам
  • Добавление атрибута ApiVersion

Необработанное исключение типа "VkNet.Exception.InvalidParameterException" в VkNet.dll Дополнительные сведения: The type of attachment is not defined.

От пользователя Б было переслано сообщение пользователя В пользователю А, сообщение это было из скрытой стены пользователя В. Так вот в таком случаи вылазит Необработанное исключение типа "VkNet.Exception.InvalidParameterException" в VkNet.dll
Метод Message.Get

Ну никак не подружусь с Wall.Get

var user = vk.Users.Get(@"hzzzarium", ProfileFields.All);
long userID = user.Id;
var lsW = vk.Wall.Get(userID, out cou, 1, 0, WallFilter.Owner);
var user3=vk.Users.Get(@"svetka_v_baletkah", ProfileFields.All)
var lsW1 = vk.Wall.Get(user3.ID, out cou, 1, 0, WallFilter.Owner);
оба обращения выдают исключение
"Ссылка на объект не указывает на экземпляр объекта."
т.е.сейчас просто не удается получить вообще никакие записи со стены((
VkNet 1.0.4 установил NuGet-ом
Простите великодушно меня бестолкового - что я делаю не так????
Windows 7. VS 2012. NET Framework 4.5 (до 4.5.1 не обновлял пока)
Спасибо.

install-package vknet

Не устанавливается vknet в vs 2010 - asp.net 4.0 в web site
Пробовал отдельно, сначала, установить зависимости, а потом уже vknet
Почему-то удаляется...
PM> install-package vknet
Установка "VkNet 1.0.9".
"VkNet 1.0.9" успешно установлен.
Добавление "VkNet 1.0.9" в WebSite1.
Удаление "VkNet 1.0.9".
"VkNet 1.0.9" успешно удален.
Не удалось выполнить установку. Идет откат...
install-package : Не удалось установить пакет "VkNet 1.0.9". Вы пытаетесь установить этот пакет в проект, требуемая версия платформы которого — ".NETFramework,Version=v4.0", но в пакете нет ссылок на сборки или файлов
содержимого, совместимых с этой платформой. Дополнительные сведения можно получить у автора пакета.
строка:1 знак:1

  • install-package vknet
  • - CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    - FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
    
    

PM>

NullReferenceException при вызове wall.get

Если в посте есть голосование получаем NullReferenceException


в VkNet.Utils.VkResponse.op_Implicit(VkResponse response)
в VkNet.Model.Poll.FromJson(VkResponse response)
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response)
в VkNet.Model.Attachment.FromJson(VkResponse response)
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response)
в VkNet.Utils.VkResponse.<op_Implicit>b__2(VkResponse r)
в System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() в System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext()
в System.Collections.Generic.List1..ctor(IEnumerable1 collection)
в VkNet.Utils.VkResponseEx.ToCollection[T](IEnumerable1 source) в VkNet.Utils.VkResponseEx.ToCollectionOf[T](VkResponse response, Func2 selector)
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response)
в VkNet.Model.Post.FromJson(VkResponse response)
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response)
в VkNet.Categories.WallCategory.b__1(VkResponse r)
в System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() в System.Collections.Generic.List1..ctor(IEnumerable1 collection) в VkNet.Utils.VkResponseEx.ToReadOnlyCollection[T](IEnumerable1 source)
в VkNet.Utils.VkResponseEx.ToReadOnlyCollectionOf[T](IEnumerable1 responses, Func2 selector)
в VkNet.Categories.WallCategory.Get(Int64 ownerId, Int32& totalCount, Nullable1 count, Nullable1 offset, WallFilter filter)

Падает при поиске Vk. [vk:551658]

From: Cepega

Использую метод поиска:
var query = "Василий Иванов"; //пример
var users = vk.Users.Search(query, out count, fields);
Вываливается Exception:

в VkNet.Utils.VkResponse.op_Implicit(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponse.cs:строка 75
в VkNet.Model.Relative.FromJson(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Model\Relative.cs:строка 32
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseToModelCastsGenerator.cs:строка 381
в VkNet.Utils.VkResponse.<op_Implicit>b__52(VkResponse a) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseToModelCastsGenerator.cs:строка 386
в System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() в System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext()
в System.Collections.Generic.List1..ctor(IEnumerable1 collection)
в VkNet.Utils.VkResponseEx.ToCollection[T](IEnumerable1 source) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseEx.cs:строка 12 в VkNet.Utils.VkResponseEx.ToCollectionOf[T](VkResponse response, Func2 selector) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseEx.cs:строка 24
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseToModelCastsGenerator.cs:строка 386
в VkNet.Model.User.FromJson(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Model\User.cs:строка 362
в VkNet.Utils.VkResponse.op_Implicit(VkResponse response) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseToModelCastsGenerator.cs:строка 480
в VkNet.Categories.UsersCategory.b__1(VkResponse r) в d:\vs-projects\gt\vk\VkNet\Categories\UsersCategory.cs:строка 59
в System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() в System.Collections.Generic.List1..ctor(IEnumerable1 collection) в VkNet.Utils.VkResponseEx.ToReadOnlyCollection[T](IEnumerable1 source) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseEx.cs:строка 38
в VkNet.Utils.VkResponseEx.ToReadOnlyCollectionOf[T](IEnumerable1 responses, Func2 selector) в d:\vs-projects\gt\vk\VkNet\Utils\VkResponseEx.cs:строка 59
в VkNet.Categories.UsersCategory.Search(String query, Int32& itemsCount, ProfileFields fields, Int32 count, Int32 offset) в d:\vs-projects\gt\vk\VkNet\Categories\UsersCategory.cs:строка 59
Read the full discussion online.

версия сервисов

Начал работать с библиотекой, и по умолчанию метод получения сообщений возвращает в старом формате, и не работает.
[ApiVersion("5.21")]
public ReadOnlyCollection Get( ....
и строка " totalCount = response["count"];" валится, так как в json нету такого атрибута(старый формат), ну я заметил что, в атрибуте указана версия Api, ну и написал в методе кол, проверку этого аттрибута
в методе
VkResponse response = _vk.Call("messages.get", parameters);
вот такую штучку дописал (проверяю вызывающий метод и его версию апи)
"var stackTrace = new StackTrace();
MethodBase methodBase = stackTrace.GetFrame(1).GetMethod();
var attributes = methodBase.GetCustomAttributes(typeof(ApiVersionAttribute), true);
if (attributes.Length > 0)
{
var version = ((ApiVersionAttribute)attributes[0]).Version;
parameters.Add("v", version);
}"

Снова по-поводу Wall.Get

Добрый день. Не дам я вам отдохнуть((
var user = vk.Users.Get(@"hzzzarium", ProfileFields.All);
long userID = user.Id;
var lsW = vk.Wall.Get(userID, out cou, 50, 50, WallFilter.Owner);
Я для краткости убрал try-catch
выдает исключение
"Ссылка на объект не указывает на экземпляр объекта." (System.NullReferenceException)
op_Implicit VkResponse.sc str 77
1-е 50 сообщений получил нормально
var user3 = vk.Users.Get(@"svetka_v_baletkah", ProfileFields.All)
var lsW = vk.Wall.Get(user3.ID, out cou, 50, 200, WallFilter.Owner);
исключение Can not convert Null to Int64.
200 1-х отработали нормально
У некоторых удается полностью получить сообщения без ошибок.
С уважением

Добавить функцию для обращения к апи

Смысл данной функции в том, что бы пользователь мог обратиться к любой апи функции, которой ещё нет в проекте. Например так vkApi.SendApi(methodName, parametrs) при этом пользователь сам должен написать обертку для данного метода, исключающего всякого рода ошибки.

FileNotFoundException при авторизации.

В песледней версии не могу даже авторизоваться.
vk = new VkApi();
vk.Authorize(appId, mail, pass, VkNet.Enums.Filters.Settings.Friends | VkNet.Enums.Filters.Settings.Messages);

"An unhandled exception of type 'System.IO.FileNotFoundException' occurred in VkNet.dll

Additional information: Could not load file or assembly 'HtmlAgilityPack, Version=1.4.6.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a' or one of its dependencies. The system cannot find the file specified."

Documentation

  • Добавить раздел синтаксис ко всем методам
    • Account
    • Audio
    • Database
    • Fave
    • Friends
    • Groups
    • Messages
    • Photo
    • Status
    • Users
    • Utils
    • Video
    • Wall
  • Добавить документацию к новым методам
  • Добавить примеры использования
  • Обновить ссылку на хабре
  • Compare methods count on main page and in category folders.

Сохранение аудио после загрузки на сервер

Здравствуйте. У вас реализована функция GetUploadServer(), но нет SaveAudio(), без нее нет смысла получать ссылку на сервер загрузки аудио, в VK API предусмотрена функция сохранения аудио после загрузки на сервер.

Message Body bag

Если в сообщении есть смайлы, то метод body возвращает текст сообщения, НО на месте смайлов оказываются квадратики. Как бы эта функция должна возвращать ТОЛЬКО текст сообщения, а она пытается отдать что-то ещё!
Или я сам чего-то не понимаю?

Получение инф. об альбомах

Еще раз приветствую. Специально в методе GetAlbums выбрасывается исключение что отрицательное значение owner_id, на самом деле оно допускается VK API и оно нужно чтобы иметь доступ к списку альбомов группе.

Не получает все данные в методе photos.getAlbums

Если передать методу photos.getAlbums (https://vk.com/dev/photos.getAlbums) параметры
needCovers: true и photoSizes: true

то нужно дополнительно возвратить массив из json-объекта "sizes".

То же самое касается метода photos.get и, видимо, остальных методов, работающих с фото.

Путь решения:
Я это решил путем модификации исходного кода. Было бы здорово включить в следующий релиз. Если нужен код, предоставлю, он несложный.

Падает при попытке парсинга альбома

При попытке парсинга системного альбома исключение Can not convert Object to String.

Причина:
нужно поправить настройки приватности (https://vk.com/dev/privacy_setting)
для полей album.PrivacyView и CommentPrivacy. Там возвраащется объект, а не строка.
Кстати, вместо comment_privacy должен быть privacy_comment

SaveWallPhoto выдает NullReferenceException

Еще раз здравствуйте. Вызов того метода почему-то выбрасывает исключение, все у себя в программе перепроверил, и переменную самого API.

Ошибка при вызове метода WallCategory.GetExtended

Ошибка при попытке парсинга.

Причина проблемы: не стоит атрибут ApiVersion у метода GetExtended класса WallCategory. Из-за этого возвращается json-объект "wall" вместо объекта "items".

При установке [ApiVersion("5.9")] у меня все заработало.

Версии апи для разных методов.

Хранить рядом с каждым методом совместимую версию API (атрибуты, комментарии, xml, etc.).
Кроме того, в каждом методе в VkParameters добавлять подходящую версию апи, а дефолтную убрать в принципе. Если версия не передана в параметрах, бросать исключение или контролировать аннотациями. Тогда методы не будут падать при выходе новой версии, а просто будут иметь старый интерфейс.

Еще, как вариант, при обновлении методов до новой версии сохранять старую с атрибутом Obsolete для совместимости с существующим кодом, а полностью удалять по прошествии какого-то времени.

Метод удаления со стены

    public bool Delete(long ownerId, long postId)
    {
        var parameters = new VkParameters
                         {
                             { "owner_id", ownerId },
                             { "post_id", postId }
                         };

        return _vk.Call("wall.delete", parameters);
    }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.