我想到我有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
答案 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