Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在我的网站上显示我的墙的身份验证_Asp.net_Facebook_Facebook C# Sdk - Fatal编程技术网

Asp.net 在我的网站上显示我的墙的身份验证

Asp.net 在我的网站上显示我的墙的身份验证,asp.net,facebook,facebook-c#-sdk,Asp.net,Facebook,Facebook C# Sdk,我试图在我的网站上显示我的Facebook墙帖子的JSON对象,但对于这样一个简单的任务来说,它似乎复杂得可笑 我是否需要实现服务器端重定向,然后以“假装”用户的身份将数据发回,以便获得令牌,还是我在这里误解了什么 考虑到我有API密钥和机密等,我如何请求墙流的JSON对象?目前,我无法确定如何将这些详细信息转换为可与FacebookClient.Get(“Me”,parameters)一起实际使用的正确访问令牌 我在某个地方读到过,我可以获得一个永远不会过期的无限会话密钥,但是按照给定的步骤操

我试图在我的网站上显示我的Facebook墙帖子的JSON对象,但对于这样一个简单的任务来说,它似乎复杂得可笑

我是否需要实现服务器端重定向,然后以“假装”用户的身份将数据发回,以便获得令牌,还是我在这里误解了什么

考虑到我有API密钥和机密等,我如何请求墙流的JSON对象?目前,我无法确定如何将这些详细信息转换为可与
FacebookClient.Get(“Me”,parameters)
一起实际使用的正确访问令牌

我在某个地方读到过,我可以获得一个永远不会过期的
无限会话密钥
,但是按照给定的步骤操作只会在第二步导致错误

我已经阅读了大量的文档,并试图找到一些示例,但我发现的几乎所有内容都是在身份验证之后开始的


非常感谢您的帮助。

首先,您需要获得一个访问令牌(无法回避)。这是通过OAuth对话框完成的,用户在该对话框中登录并提供所需的权限。您必须请求“脱机访问”和“读取流”权限才能执行您尝试执行的操作。获取访问令牌非常简单。请按照此处的说明操作:

另外,请阅读Facebook的文档:

您必须将您的访问令牌存储在某个地方以供以后使用(这是无限会话密钥)

获取访问令牌后,可以直接调用graph API:

https://graph.facebook.com/me/feed/?access_token=YOUR-TOKEN-HERE https://graph.facebook.com/me/feed/?access_token=YOUR-代币 或者你可以使用Facebook的C#SDK(推荐)

仅供参考,你发布的链接已经过时,Facebook不会很快支持这种方法

更新-手动获取访问令牌的方式:

由于您只对数据感兴趣,因此只需获取一次访问令牌。当然,如果您更改密码,您必须再次执行此操作

我将详细说明如何手动获取您的令牌

  • 确保您正在使用Firefox。它实际上显示JSON字符串
  • 导航到此URL。添加你的应用程序ID、回调url(这应该与你注册的域相匹配)。我添加了很多权限
  • 一旦您进行身份验证并“允许”,Facebook将重定向到您的回调URL,URL是一个“代码”参数。记下此参数

  • 现在调用另一个URL,添加您的应用程序id、api机密和代码

  • 调用上面的URL将在浏览器中显示访问令牌。保存此访问令牌。现在您可以使用此令牌代表您进行API调用

  • 请记住,如果您更改密码,您必须再次执行此过程


  • 这是一种手动方式,仅适用于您只对数据感兴趣的场景。我这样做是为了进行测试。

    首先,您需要获得一个访问令牌(这是无法回避的)。这是通过OAuth对话框完成的,用户在该对话框中登录并提供所需的权限。您必须请求“脱机访问”和“读取流”权限才能执行您尝试执行的操作。获取访问令牌非常简单。请按照此处的说明操作:

    另外,请阅读Facebook的文档:

    您必须将您的访问令牌存储在某个地方以供以后使用(这是无限会话密钥)

    获取访问令牌后,可以直接调用graph API:

    https://graph.facebook.com/me/feed/?access_token=YOUR-TOKEN-HERE https://graph.facebook.com/me/feed/?access_token=YOUR-代币 或者你可以使用Facebook的C#SDK(推荐)

    仅供参考,你发布的链接已经过时,Facebook不会很快支持这种方法

    更新-手动获取访问令牌的方式:

    由于您只对数据感兴趣,因此只需获取一次访问令牌。当然,如果您更改密码,您必须再次执行此操作

    我将详细说明如何手动获取您的令牌

  • 确保您正在使用Firefox。它实际上显示JSON字符串
  • 导航到此URL。添加你的应用程序ID、回调url(这应该与你注册的域相匹配)。我添加了很多权限
  • 一旦您进行身份验证并“允许”,Facebook将重定向到您的回调URL,URL是一个“代码”参数。记下此参数

  • 现在调用另一个URL,添加您的应用程序id、api机密和代码

  • 调用上面的URL将在浏览器中显示访问令牌。保存此访问令牌。现在您可以使用此令牌代表您进行API调用

  • 请记住,如果您更改密码,您必须再次执行此过程


  • 这是一种手动方式,仅适用于您只对数据感兴趣的场景。我这样做是为了测试。

    感谢Dotnetter的建议,我会尝试一下。我不明白为什么开发人员在使用他们的数据(即与他们的API密钥等相关)时必须执行登录过程。我不希望人们发表评论或访问他们的数据,我只想在VB.Net中请求我的墙数据作为JSON。如果能够在我的ASP.Net中使用ID/API密钥/密码组合,从而验证我自己,然后只获取JSON(这是我目前使用的所有其他API的工作方式),不是更好吗?这看起来太复杂了,我怀疑我是否完全误解了!API旨在让开发人员开发为其用户社区服务的应用程序。因此,安全性特征。API密钥/密码用于您的应用程序,而不是您的用户帐户。您仍然需要通过相同的身份验证过程才能访问您的信息。感谢Dotnetter,两种解决方案都非常有效。“非常手动”的那个似乎给了我一个永久的访问令牌,我现在可以使用它了