В нашей компании мы создали пользовательское приложение Issues
. Помимо использования этого приложения в веб-интерфейсе, мы также хотим иметь возможность автоматически изменять состояние проблемы (новое, подтвержденное, тестовое, разрешенное ...) с помощью git commit hooks. Основы работают нормально (т.е. изменяют состояние, добавляют заметки, ...), но мы также хотим изменить ответственность за текущий элемент конкретному пользователю. В этом специальном случае это создатель, если этот элемент.Получение профиля для пользователя
Моя первая попытка была следующая:
var appid = 1234; var itemid = 1;
var item = podio.ItemService.GetItemByAppItemId(appid, itemid);
var update = new Item {ItemId = item.ItemId};
var creator = item.CreatedBy.Id;
var resp = update.Field<ContactItemField>("responsibility");
resp.ContactIds = new List<int>{creator.Value};
//change some other fields as well
podio.ItemService.UpdateItem(update);
Это бросает «Объект не найден» исключение, потому что в resp.ContactIds
один не должен установить UserId
но ProfileId
.
Затем я попытался получить ProfileId
из пункта-творца через
podio.ContactService.GetUserContactField(creator.Value, "profile_id");
, но это также бросает исключение «(Аутентификация в приложении не допускается для данного метода»).
Как я могу получить соответствующий идентификатор профиля для пользователя, когда я использую аутентификацию в качестве приложения?
Я знаю, что человек нашел решение. Но на всякий случай, если кто-либо получит исключение «Аутентификация, поскольку приложение не разрешено для этого метода» при доступе к 'podio.ContactService.GetUserContactField (creator.Value,« profile_id »);' будет потому, что мы не сможем использовать проверенный приложением клиент для получения контакта информации, поскольку это не приложение специфично, вместо этого мы должны будем использовать клиент, прошедший аутентификацию, для работы над этим кодом. –
Ну, это именно то, что говорит исключение. Так в чем смысл вашего комментария? Использование аутентификации в моем случае было невозможно в моем случае, потому что вызов был частью автоматизированного рабочего процесса. – derpirscher