Tag: api

如何将哈希转换为Live API for Contacts的响应

我已经集成了Live JS api来获取用户的Live联系人,它以哈希格式(email_hash)返回电子邮件。 如何使用javascript或c#.net转换为可读文本非常感谢!

Google Calendar API,只需知道他们的电子邮件地址即可向某人的日历添加活动

我已经下载了Google.Apis名称空间: using Google.Apis.Auth.OAuth2; using Google.Apis.Calendar.v3; using Google.Apis.Calendar.v3.Data; using Google.Apis.Services; 我花了一整天的时间在网上查看.NET示例,了解如何通过了解他们的电子邮件地址将事件添加到某人日历中。 我尝试了下面的代码,但它带来了错误,很明显它不会起作用: Public void Method(string email, string text) { UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync( new ClientSecrets { ClientId = “CLIENTID”, ClientSecret = “CLIENTSECRET”, }, new[] { CalendarService.Scope.Calendar }, “user”, CancellationToken.None).Result; // Create the service. var service = new CalendarService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = “Calendar […]

架构问题:使用dependency injection导致垃圾API

我想创建一个类来执行各种与数据库相关的低级操作,但是它提供了一个非常简单的UI层接口。 此类表示特定聚合根中的一组数据,由单个ID int检索。 构造函数有四个参数: public AssetRegister(int caseNumber, ILawbaseAssetRepository lawbaseAssetRepository, IAssetChecklistKctcPartRepository assetChecklistKctcPartRepository, User user) { _caseNumber = caseNumber; _lawbaseAssetRepository = lawbaseAssetRepository; _assetChecklistKctcPartRepository = assetChecklistKctcPartRepository; _user = user; LoadChecklists(); } UI层通过IAssetRegister接口访问此类。 Castle Windsor可以提供ILawbaseAssetRepository和IAssetChecklistKctcPartRepository参数本身,但UI代码需要使用匿名类型提供其他两个: int caseNumber = 1000; User user = GetUserFromPage(); IAssetRegister assetRegister = Moose.Application.WindsorContainer.Resolve(new { caseNumber, user}); 从API设计的角度来看,这是垃圾。 UI层开发人员无法知道IAssetRegister需要整数和用户。 他们需要知道类的实现才能使用它。 我知道我必须在这里遇到某种设计问题。 任何人都可以给我一些指示吗?

如何获取特定团队项目的签入/更改历史记录?

我正在使用TFS客户端API来尝试查询TFS 2010实例。 我需要能够做到以下几点 对于指定的团队项目,请说“项目A” 获取最近签到此项目的历史记录列表(比如最近50个,或者最后一天的列表) 然后能够遍历此列表并获取项目的元数据(理想的文件和文件夹名称) 我想我需要在VersionControlServer类上使用QueryXXX方法,但是找不到有关如何使用它的任何有用或清晰的示例。 我已经看到有GetLastestChangesetId方法,但这看起来不像它可以作用于特定项目或目录。

表明服务器请求失败的最佳实践方法?

我正在编写一个连接到服务的API,该服务要么返回简单的“成功”消息,要么返回100多种不同类型的失败之一。 最初我想写一个向这个服务发送请求的方法,如果它成功了,那么该方法什么都不返回,但如果它因任何原因失败,它会抛出一个exception。 我不太介意这个设计,但另一方面,就在今天,我正在阅读Joshua Bloch的“ 如何设计一个好的API以及它为何重要 ”,他在那里说“抛出exception以表明特殊条件…… Don’ t强制客户端使用控制流的exception。“ (和“相反,不要默默地失败。”) 另一方面,我注意到我正在使用的HttpWebRequest似乎在请求失败时抛出exception,而不是返回包含“500 Internal Server Error”消息的Response。 在这种情况下报告错误的最佳模式是什么? 如果我在每次失败的请求中抛出exception,那么我将来会在某些时候感受到巨大的痛苦吗? 编辑:非常感谢您对目前为止的回复。 一些细化: 它是一个DLL,将提供给客户端在他们的应用程序中引用。 使用的类似例子是ChargeCreditCard(CreditCardInfo i) – 显然当ChargeCreditCard()方法失败时,它是一个巨大的交易; 我只是不确定是否应该停止印刷机或将责任传递给客户。 编辑第二:基本上我并不完全相信使用这两种方法中的哪一种: try { ChargeCreditCard(cardNumber, expDate, hugeAmountOMoney); } catch(ChargeFailException e) { // client handles error depending on type of failure as specified by specific type of exception } 要么 var status = TryChargeCreditCard(cardNumber, […]

更新不在SalesForce API中

我正在尝试通过SalesForce API(Enterprise WSDL)更新记录。 下面的代码执行正常,并且saveResult返回说操作成功。 然而,当我查看SalesForce时 – 记录尚未更新。 我能想到的唯一一件事就是我使用了错误的ID – 但我有五元组检查并再次检查它然后重新检查它。 以前有人遇到过这样的事吗? 或者,如果有人可以指出我可能在某处犯下的愚蠢错误,我将非常高兴:-) sforce.Participant__c updateParticipant = new sforce.Participant__c(); updateParticipant.Id = participant.Id.Length == 15? participant.Id : participant.Id.Substring(0, 15); if (updateType == “pre”) { updateParticipant.Manual_Download_Date__c = DateTime.Now; updateParticipant.Manual_Download__c = true; } else if (updateType == “post”) { updateParticipant.Post_Class_Manual_Download__c = true; updateParticipant.Post_Class_Manual_Downloaded_Date__c = DateTime.Now; } sforce.SaveResult[] result = SFLib.sfdc.update(new […]

使用C#编写IBM iSeries API QUSLSPL

有人可以用完整的c#代码帮助我调用SPLF0200格式的QUSLSPL。 我能够调用该程序,但不知道如何捕获/读取输出。 我是这个领域的新手。 感谢您的帮助。 这是我的代码。 cwbx.ProgramParameters parameters = new cwbx.ProgramParameters(); //user space name parameters.Append(“usrspcnam”, cwbrcParameterTypeEnum.cwbrcInout, 20); StringConverter stringConverterUsrSpaceNm = new cwbx.StringConverter(); stringConverterUsrSpaceNm.Length = 20; parameters[“usrspcnam”].Value = stringConverterUsrSpaceNm.ToBytes(“HRAHMAN QGPL “); //Format parameters.Append(“frmname”, cwbrcParameterTypeEnum.cwbrcInout, 8); StringConverter stringConverterFrmname = new cwbx.StringConverter(); stringConverterFrmname.Length = 8; parameters[“frmname”].Value = stringConverterFrmname.ToBytes(“SPLF0200”); //User Name parameters.Append(“usrnam”, cwbrcParameterTypeEnum.cwbrcInout, 10); StringConverter stringConverterUsrnam = new cwbx.StringConverter(); stringConverterUsrnam.Length […]

使用C#进行Catia V5自动化

我想用编程语言C#为Catia V5编写宏/程序。 如何通过c#(和Visual Studio)访问Catia应用程序。 我搜索了一下,发现Catia提供了一个API,Microsoft COM Technologie为c#和python等’COM-languages’提供了API。 这就是我想象C#Programm和Catia之间的连接/交互: C# – .NET COM Catia API 那是对的吗 ? 另外:如何在Visual Studio中设置所有内容,以便我可以访问Catia API(以及代码完成等)

Adobe Sign(echo sign)API使用C#发送文档

好吧,我对使用API​​的理解有限 我试图掌握Adobe Sign API并且遇到了死胡同,在那里测试页面我输入了这个并且它有效 但我不知道如何在C#中做到这一点 我尝试了以下内容,但知道它错过了OAuth的东西,我只是不确定下一步该尝试什么。 顺便说一句foo.GetAgreementCreationInfo()只是获取屏幕截图中的字符串,我只是把它移出来,因为它很大而且丑陋 var foo = new Models(); var client = new RestClient(“https://api.na1.echosign.com/api/rest/v5”); // client.Authenticator = new HttpBasicAuthenticator(username, password); var request = new RestRequest(“agreements/{AgreementCreationInfo}”, Method.POST); request.AddParameter(“name”, “value”); // adds to POST or URL querystring based on Method request.AddUrlSegment(“AgreementCreationInfo”, foo.GetAgreementCreationInfo()); // replaces matching token in request.Resource IRestResponse response = client.Execute(request); var content […]

如果API速率限制超过使用WebApiThrottle – C#Web API,则阻止API请求5分钟

在Web API中有一个非常好的库WebApiThrottle用于API速率限制。 如Wiki页面上所述,我可以根据API调用的授权令牌头来限制API。 但是,如果此api速率限制超过,我怎样才能阻止接下来5分钟的api呼叫? 此外,并非在接下来的5分钟内任何请求都会重置超出限速的时间。 我检查了代码,但找不到此function。 如果有人可以提出建议吗?