我有一个公开共享的 OneDrive 文件夹,其中包含一些不同的子文件夹和文件。即我通过链接分享了它,所以任何有这个链接的人都可以访问它们。
有没有一种方法可以通过某种 REST API 从客户端 JavaScript 或某些服务器端代码访问这些文件?无需使用任何特定于用户的凭据?
我一直在尝试的
我一直在查看访问共享内容页面,它看起来像我想要的,但不知道如何使用它。
我从共享 URL 中获取了一些看起来像 id 的东西,它看起来是一个很长的十六进制数(这似乎是一个指向我的 id?),一个!,然后是一个数字(我认为必须这样做与共享资源)。
然后我尝试将其粘贴在此 URL 中:
https://api.onedrive.com/v1.0/shares/<id>/root?expand=children
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个 400 错误的请求,所以有些事情不太对劲……
我在想可能缺少某种身份验证,但由于共享文件是公开的,我不需要用户使用他们的凭据登录,当然也不能在代码中使用我自己的。
我尝试注册一个应用程序,在那里我获得一个应用程序 ID (guid) 并且可以生成密码和密钥对。希望也许我可以使用它,但没有在 API 中看到如何以及在何处实际使用这些...
目标
共享文件夹包含合唱团的乐谱,我负责保持更新(OneDrive 同步在这里非常方便)。
有些成员不太懂电脑,所以我想让查看和下载这些文件尽可能容易。带有“去这里到另一个奇怪的网站并在那里找到文件”的共享链接 -文本类型的作品,但我更愿意直接在我们网站的会员专区中列出文件。基本上只是“这里有文件,点击一个下载”。
当我运行时,npm init -y
我得到以下package.json
文件:
{
"name": "myapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
Run Code Online (Sandbox Code Playgroud)
然而,这包括一些实际上似乎不需要的东西。
package.json
什么?下面链接的代码笔使用react-router
错误边界来捕获每个路由中的错误。
如果您单击“商店”,则会按预期捕获错误,但其他链接将不再起作用。这里发生了什么?为什么react-router-dom
看起来停止工作?执行此操作的“正确”方法是什么?是<ErrorBoundary>
组件的问题,还是路由组件的包装方式的问题?
https://codepen.io/mpontus/pen/NyKNoL
如果 codepen 链接出现问题:
const { BrowserRouter, Switch, Route, NavLink } = ReactRouterDOM;
class ErrorBoundary extends React.Component {
state = { hasError: false };
componentDidCatch(error, info) {
this.setState({ hasError: true });
}
render() {
if (this.state.hasError) {
return <h1>An error has occured.</h1>;
}
return this.props.children;
}
}
const HomeScreen = () => <h3>Home</h3>;
const ProfileScreen = () => <h3>Profile Screen</h3>;
const ShopScreen = () => {
throw new Error("Error during …
Run Code Online (Sandbox Code Playgroud) 好的,我有一个用C#编写的应用程序.我们在SQL Server中有数据.在这些数据中,我们有用户帐户,可以访问应用程序.
我已经阅读过,而且我知道你应该加盐和散列并且可能会散乱很多次等等.但是,我该怎么办?我应该向SQL Server发送什么内容?究竟我在数据库中存储什么?我在SQL中哈希吗?(可能是一个散列函数,就像在mysql中一样?)我是否在代码中散列并执行奇特的东西?我是否将哈希发送到服务器并进行比较,或者我是否从服务器获取哈希并在我的应用程序中进行比较?盐怎么样?我在哪里制作的?我在哪里存放?我怎么得到它?
换句话说,有人可以给我一个很好的清晰的登录方案演示(可能还有用户添加/重置密码方案).什么地方,应该在哪里使用,等等.
希望有人可以为我清除这些东西=)
这之间有什么不同吗:
dataContext.People.Select(ø => new
{
Name = ø.Name,
});
Run Code Online (Sandbox Code Playgroud)
还有这个:
dataContext.People.Select(ø => new
{
ø.Name,
});
Run Code Online (Sandbox Code Playgroud)
?
我正在创建一个特殊的搜索文本框.除此之外,还有这两个事件:
[Category("Behavior")]
public event EventHandler<GenericEventArgs<string>> Search;
[Category("Property Changed")]
public event EventHandler<EventArgs> ActiveColorChanged;
[Category("Property Changed")]
public event EventHandler<EventArgs> InactiveColorChanged;
Run Code Online (Sandbox Code Playgroud)
事情是只有底部的两个显示在设计视图属性事件资源管理器thingy(无论它的名称是什么......).我想知道为什么.是因为我没有使用标准EventArgs
吗?不应该是这种情况,因为我的意思是,还有其他事件没有使用...就像关键的新闻相关事件等...
这个GenericEventArgs<T>
类看起来像这样:
public class GenericEventArgs<T> : EventArgs
{
public T Value { get; private set; }
public GenericEventArgs() : this(default(T)) { }
public GenericEventArgs(T value) { Value = value; }
}
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
我有这门课:
public class GenericEventArgs<T> : EventArgs
{
public GenericEventArgs() : this(default(T)) {}
public GenericEventArgs(T value) { Value = value; }
public T Value { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
这个事件处理程序代表它:
public delegate void GenericEventHandler<T>(object sender, GenericEventArgs<T> e);
Run Code Online (Sandbox Code Playgroud)
我目前在命名空间中将这些文件放在同一个文件中.这被认为是糟糕/凌乱/等等吗?因为,一般来说我会说每个文件应该只包含一个类.所以为了让它干净,我宁愿GenericEventArgs
单独在文件中使用该类.但后来我有这个GenericEventHandler<T>
代表,我不知道应该放在哪里.它应该有自己的文件吗?只有...那一行?(当然还有命名空间)
你经常这样做吗?
好吧,这似乎是一个愚蠢的问题,但它严重困扰我.希望一些程序员能够说得好!
事实上,我正在创建一个ExpressionBuilder类来帮助我构建与LinqToSQL一起使用的表达式.而我的问题是在描述两种方法时我是如何自言自语的.在讨论它时,这对我来说也是一个问题.这是问题:
你有一个Expression<Func<T, bool>>
, A
.后来又得到另一个,B
.您现在要将其B
与A
使用&&
/ AndAlso
或||
/组合OrElse
.所以例如这样:
A = A && B;
Run Code Online (Sandbox Code Playgroud)
好的.那么,你刚刚做了什么?你用B做A的动词是什么?如果你在一系列这样的东西中思考,比如A = A && B && C && D && E && ...
,你可以说你然后"添加" F
到那个系列.但是,我觉得这不会是正确的......
我提供的东西最"正确"就是你B
和你"和"它一起A
.你带走了B
,或者你带着它来"或" A
.但是"和"和"或"可以用作动词吗?这被认为是好的吗?感觉非常糟糕的英语...但是在编程环境中可能没问题?要么?
假设您有各种任意类型的对象,您希望将它们存储在表的键+值类型中.键可以是例如int,string或guid.价值是什么?字符串,二进制或其他什么?
你将如何存储和加载对象?我会想某种序列化,但是什么样的?
我有一个解决方案,我有一个类有这两种方法:
public T Get<T>(string key)
public void Set<T>(string key, T value)
Run Code Online (Sandbox Code Playgroud)
在数据库中,我有一个包含字符串列和二进制列的表.然后我使用a BinaryFormatter
序列化和反序列化值和Linq2Sql将二进制结果放在数据库表中.但这是一个很好的解决方案吗?目前我只敢用整数和字符串这样的简单值来尝试这个.BinaryFormatter
一般情况下,序列化如何与更复杂的类型(如结构和类)一起使用?特别是如果例如值包含数组或列表之类的东西.
有什么指针吗?
目前我将使用它来存储各种最后选择或类型等类型的值.虽然它们可能并不总是必须打字.例如,它可能是从列表中选择值.重点是它们几乎只是用户的便利,因此不是非常关键的数据.
例如,如果我想看看我的.NET选项是用于实现IList或IDictionary的东西.有没有办法在MSDN文档中找到它?
c# ×5
sql-server ×2
.net ×1
conventions ×1
encryption ×1
events ×1
hash ×1
inheritance ×1
interface ×1
json ×1
linq ×1
npm ×1
onedrive ×1
package.json ×1
passwords ×1
propertygrid ×1
react-router ×1
reactjs ×1
rest ×1