Facebook graph api 允许公共API进行某些修改的风险?

Facebook graph api 允许公共API进行某些修改的风险?,facebook-graph-api,api-design,Facebook Graph Api,Api Design,我正在尝试为我的web应用程序设计一个好的RESTful API,并以Facebook的Graph API为例 我的计划是在web应用程序中添加API。例如,如果用户在“设置”页面上更改了姓名、性别等,它会将新数据放入我的web应用程序的/user端点 然而,我注意到Facebook的Graph API不允许修改用户资源。您是否希望确保某些资源不可从公共API修改 我基本上只是想知道我的方法是否有风险,如果没有,为什么其他网站不做同样的事情。是的,有一些资源你想阻止API用户修改,但它们依赖于应

我正在尝试为我的web应用程序设计一个好的RESTful API,并以Facebook的Graph API为例

我的计划是在web应用程序中添加API。例如,如果用户在“设置”页面上更改了姓名、性别等,它会将新数据放入我的web应用程序的/user端点

然而,我注意到Facebook的Graph API不允许修改用户资源。您是否希望确保某些资源不可从公共API修改


我基本上只是想知道我的方法是否有风险,如果没有,为什么其他网站不做同样的事情。

是的,有一些资源你想阻止API用户修改,但它们依赖于应用程序。例如,我现在正在开发的一个API允许调用方读取但不更新审计数据、读取用户记录(但只修改自己的部分记录)以及创建和更新家庭地址


您需要确保有严格的安全措施,以防止用户修改用户的某些部分(如用户名或密码),特别是当用户a正在调用
PUT/users/B

正确时,但是否有任何理由完全关闭该资源的该方法(而不仅仅是拥有访问权限,这将禁止不应该使用它的人使用它)。或者Facebook这样做只是因为他们碰巧没有在内部使用自己的公共API,所以他们不需要在公共API中使用该功能。后者很可能是真的。