使用Microsoft Graph API

时间:2017-08-23 10:38:51

标签: ruby-on-rails microsoft-graph

我正在尝试实施一个Excel计算器网络应用程序,该应用程序在位于OneDrive for Business文件夹上的现有Excel文件上执行功能。我一直在尝试在Ruby中实现它,因为我的目标平台是Rails。这是Excel REST API on the Microsoft Graph

response = HTTParty.post('..../workbook/functions/pmt', headers: {
      'Authorization' => 'Bearer ACCESS_TOKEN, '
      Content - Type ' => '
      application / json ' },
      body: '{ "rate": 0.035, "nper": 20, "pv": -2000 }') puts response

有了这个回复:

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#workbookFunctionResult",
  "@odata.type": "#microsoft.graph.workbookFunctionResult",
  "@odata.id": ".../drive/root/children('test.xlsx')/workbook/functions/pmt()",
  "error": null,
  "value": 140.722153566052
}

我正在尝试使用类似格式

来获取sum等其他功能
response = HTTParty.post('.../worbook/functions/sum', headers: {
    'Authorization' => 'Bearer ACCESS_TOKEN',
    'Content-Type' => 'application/json'
  },
  body: '{ "number1" : 200, "number2" : 300 }')

但是我收到了错误

"error": {
  "code": "InvalidArgument",
  "message": "The argument is invalid or missing or has an incorrect format."
}

我不确定如何在实际上重要的地方探索更多的API,因为文档不存在。

我特别不知道如何在Excel文档中读取和写入单个单元格/范围以获取从中计算出的函数。

有没有人设法得到一个体面的例子来解决这个问题?任何人都可以建议任何链接吗?

1 个答案:

答案 0 :(得分:0)

您可以在Workbook主题下找到有关Excel功能的文档。还有一个Excel Functions可用的完整列表。

对于采用一系列单元格的函数,可以将值作为数组传递。例如,要使用sum,您需要传入:

{
  "values" :  [100,100,50,100] 
}

这将返回:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#workbookFunctionResult",
    "@odata.type": "#microsoft.graph.workbookFunctionResult",
    "@odata.id": "/users({user-id})/drive/items({item-id})/workbook/functions/sum()",
    "error": null,
    "value": 350
}