Office 365 REST API me / events不再有效

时间:2015-09-15 11:53:30

标签: json api rest outlook

想到我有Office REST API调用:https://outlook.office.com/api/v1.0/me/events正在工作(几天前,我真的认为它是),但现在,虽然它返回HTTP响应状态200,有效负载格式错误的JSON说:

{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Events",
"value": [
    {
        "error": {
            "code": "ErrorInternalServerError",
            "message": "Object reference not set to an instance of an object."
        }
    }

(请注意,最后两个字符"]}",这将使其成为有效的JSON,似乎缺失。)

有谁知道发生了什么事?

他们是否在搞乱API?

对我/事件的调用是他们的主要示例之一,在这里:https://msdn.microsoft.com/office/office365/APi/calendar-rest-operations在标题为&#34的部分中;指定实体集合中的项目":"例如,到从用户的主日历中获取事件,将GET请求发送到以下URL: https://outlook.office.com/api/v1.0/me/events"

Mike Peat

5 个答案:

答案 0 :(得分:2)

这是一个Outlook REST API问题。我们已经使用Outlook API人员升级了问题,他们正在努力解决这个问题。 一旦修好,我们会通知您。

谢谢!

答案 1 :(得分:1)

这似乎是一个普遍的问题 我使用Office 365 Calendar API的实现工作到13.09。 突然间,它不再返回任何预约项目。

答案 2 :(得分:0)

更新: https://outlook.office.com/api/v1.0/me/events已重新开始工作。谢谢Outlook REST API团队。 :)

答案 3 :(得分:0)

对我来说它仍然不起作用。 我正在使用托管API,如:

OutlookServicesClient outlookClient = await this.GetOutlookServicesClient();

        var folderItemResult = await outlookClient.Me.Events
            .Where(e => 
            e.Start.Value >= uTCFrom &&
            e.Start.Value <= uTCTo)
            .ExecuteAsync();

在请求authorizationtoken之后,日历中的项目很快就会出现ExecuteAsync失败。如果没有条目,则在请求authorizationtoke之后对ExecuteAsync的调用成功。

答案 4 :(得分:0)

我从Git Hub下载了Office 365 API多租户样本,其中包含联系人。 我配置它并运行它以查看它是否适用于Contacts,它工作正常。 之后我更改了代码以从我的邮箱中读取所有事件。 与此帖子中的初始请求一样,存在以下错误消息

[DataServiceClientException:Fehler beim Verarbeiten des Antwortdatenstroms。 Es ist ein Fehler mit der folgenden Nachricht auf dem Server aufgetreten: 对象引用未设置为对象的实例。]

托管的Office 365 API与自己调用其余的api有什么区别,还是需要在Office 365 API中修复其他内容?

这是完整的堆栈跟踪:

[ODataErrorException:Aus der Nutzlast wurde ein Fehler gelesen。 Weitere Informationen发现了Sie in der Error-Eigenschaft。]    Microsoft.OData.Core.Json.BufferingJsonReader.ProcessObjectValue()+188    Microsoft.OData.Core.Json.BufferingJsonReader.ReadNextAndCheckForInStreamError()+95    Microsoft.OData.Core.Json.BufferingJsonReader.ReadInternal()+ 227    Microsoft.OData.Core.Json.BufferingJsonReader.Read()+ 5    Microsoft.OData.Core.JsonLight.ODataJsonLightEntryAndFeedDeserializer.ReadFeedContentStart()+56    Microsoft.OData.Core.JsonLight.ODataJsonLightReader.ReadFeedStart(ODataFeed feed,SelectedPropertiesNode selectedProperties)+24    Microsoft.OData.Core.JsonLight.ODataJsonLightReader.ReadAtStartImplementationSynchronously(DuplicatePropertyNamesChecker duplicatePropertyNamesChecker)+175    Microsoft.OData.Core.JsonLight.ODataJsonLightReader.ReadAtStartImplementation()+69    Microsoft.OData.Core.ODataReaderCore.ReadImplementation()+ 42    Microsoft.OData.Core.ODataReaderCore.ReadSynchronously()+ 5    Microsoft.OData.Core.ODataReaderCore.InterceptException(Func`1 action)+96    Microsoft.OData.Core.ODataReaderCore.Read()+ 68    Microsoft.OData.Client.Materialization.ODataReaderWrapper.Read()+18    Microsoft.OData.Client.Materialization.FeedAndEntryMaterializerAdapter.TryRead()+30

[DataServiceClientException:Fehler beim Verarbeiten des Antwortdatenstroms。 Es ist ein Fehler mit der folgenden Nachricht auf dem Server aufgetreten: 你调用的对象是空的。]    Microsoft.OData.Client.Materialization.FeedAndEntryMaterializerAdapter.TryRead()+97    Microsoft.OData.Client.Materialization.FeedAndEntryMaterializerAdapter.TryStartReadFeedOrEntry()+ 13    Microsoft.OData.Client.Materialization.FeedAndEntryMaterializerAdapter.TryReadFeedOrEntry(Boolean lazy,ODataFeed&amp; feed,MaterializerEntry&amp; entry)+20    Microsoft.OData.Client.Materialization.FeedAndEntryMaterializerAdapter.Read()+138    Microsoft.OData.Client.Materialization.ODataReaderEntityMaterializer.ReadNextFeedOrEntry()+10    Microsoft.OData.Client.Materialization.ODataEntityMaterializer.ReadImplementation()+51    Microsoft.OData.Client.MaterializeAtom.MoveNextInternal()+ 348    Microsoft.OData.Client.MaterializeAtom.MoveNext()+68    System.Linq.d__1 1.MoveNext() +176 System.Collections.Generic.List 1..ctor(IEnumerable 1 collection) +387 System.Linq.Enumerable.ToList(IEnumerable 1来源)+58    Microsoft.OData.ProxyExtensions.PagedCollection 2..ctor(DataServiceContextWrapper context, QueryOperationResponse 1 qor)+53    Microsoft.OData.ProxyExtensions。&lt;&gt; c__DisplayClass38 2.<ExecuteAsync>b__36(IAsyncResult r) +167 System.Threading.Tasks.TaskFactory 1.FromAsyncCoreLogic(IAsyncResult iar,Func 2 endFunction, Action 1 endAction,Task 1 promise, Boolean requiresSynchronization) +86 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58 Microsoft.OData.ProxyExtensions.<ExecuteAsync>d__3a 2.MoveNext()+686    System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+99    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+58    System.Runtime.CompilerServices.TaskAwaiter 1.GetResult() +28 O365_WebApp_MultiTenant.Controllers.<Index>d__0.MoveNext() in D:\Projekte\Office 365\O365-WebApp-MultiTenant-master\O365-WebApp-MultiTenant\O365-WebApp-MultiTenant\Controllers\ContactsController.cs:65 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58 System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +97 System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeAsynchronousActionMethod>b__36(IAsyncResult asyncResult) +17 System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult)+10    System.Web.Mvc.Async.WrappedAsyncResultBase 1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32 System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +50 System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225 System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult)+10    System.Web.Mvc.Async.WrappedAsyncResultBase 1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +26 System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +100 System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult)+10    System.Web.Mvc.Async.WrappedAsyncResultBase 1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult)+29    System.Web.Mvc.Async.WrappedAsyncResultBase 1.End() +49 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36 System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult)+22    System.Web.Mvc.Async.WrappedAsyncResultBase 1.End() +49 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult)+29    System.Web.Mvc.Async.WrappedAsyncResultBase`1.End()+49    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)+28    System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)+9    System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)+129