gpt4 book ai didi

javascript - 如何过滤显示的 JSON 文件

转载 作者:行者123 更新时间:2023-12-01 05:22:30 25 4
gpt4 key购买 nike

我正在尝试使用 Outlook API 创建一个 Web 应用程序,该应用程序允许我按姓名搜索特定的 Outlook 联系人。

我对 javaScript 有一点了解,但我之前从未使用过任何 API 或操作过 JSON 文件,所以我浏览了教程来帮助我,并且我遇到了这个:https://dev.outlook.com/restapi/tutorial/javascript我遵循了这一点,并没有遇到太多麻烦就成功实现了。

简单地说,本教程允许我构建一个应用程序,可以显示用户的最后 10 封电子邮件或该用户的联系人列表,它提供了类似的内容: Contacts displayed现在我想做的是过滤此显示,并能够搜索类似“给名称包含音节“AG”的联系人”之类的内容。我尝试尽可能多地理解代码,并且我几乎确定我必须修改显示所有联系人的函数。

所以我所做的是粘贴它,重命名它,但现在我正在努力处理查询参数。

function getUserContacts(emailAddress, callback) {
getAccessToken(function(accessToken) {
if (accessToken) {
// Call the Outlook API
var callOptions = {
// Get contacts
url: apiEndpoint + '/Me/contacts',
token: accessToken,
method: 'GET',
email: emailAddress,
query: {
// Limit to the first 100 contacts
'$top': 100,
// Only return fields we will use
'$select': 'GivenName,Surname,EmailAddresses',
// Sort by given name alphabetically
'$orderby': 'GivenName ASC'
}
};

makeApiCall(callOptions, function(result, error) {
if (error) {
callback(null, error);
} else {
callback(result.value);
}
});
} else {
var error = { responseText: 'Could not retrieve access token' };
callback(null, error);
}
});

}

那就是我完全迷失的那一刻,我尝试在查询部分添加 '$where':GivenName='AG' 以及 '$filter':GivenName=' AG',但它们都不起作用。我在网上搜索了答案,但在我创建的每个答案中,JSON 文件都是“可用的”(对我来说,这意味着他们在某处有这种代码:

[
{"name":"联想 Thinkpad 41A4298","website":"google222"},
{“名称”:“联想 Thinkpad 41A2222”,“网站”:“谷歌”}
]

但是我在任何地方都没有这种类型的代码,所以我想知道是否可以像我尝试的那样这样做,或者我是否必须找到一种方法来检索 JSON 文件才能获取某些内容就像上面一样?

尽管我在该领域缺乏经验,但我希望我已经说得足够清楚了,如果您也询问,我很乐意提供更多详细信息/代码!

提前致谢,祝您有美好的一天:)

最佳答案

感谢无用的代码和他的链接,我成功地从 Outlook 沙箱发送了正确的请求(错误是由于过滤器属性必须在 orderby 中首先列出),并通过以下 URL 获得预期的答案:

https://outlook.office.com/api/v2.0/me/contacts?$filter=GivenName eq 'AG-Carto'&$orderby=GivenName ASC&$select=GivenName,Surname,EmailAddresses 

现在我想做的是让我的 javascript 代码正确发送。

所以我知道我必须修改函数的 query{} 部分,我尝试了这个:

                query: {      
'$filter': 'GivenName eq AG-carto',
'$orderby': 'GivenName ASC',
'$select': 'GivenName,Surname,EmailAddresses'
}

但是当我运行它时,我收到了一个错误的请求错误,我看到js代码发送的url是这个:

https://outlook.office.com/api/v2.0/Me/contacts?%24filter=GivenName+eq+AG-carto&%24orderby=GivenName+ASC&%24select=GivenName%2CSurname%2CEmailAddresses

所以我显然看到它们不一样,而且我不知道如何修改 query{} 部分,以便 js 发送的 URL 与我的工作 URL 相同。如果有人能帮助我,我将不胜感激!

关于javascript - 如何过滤显示的 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42134161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com