gpt4 book ai didi

facebook - 如何在没有任何登录凭据的情况下使用 appid 和 app secret 获取 facebook 访问 token ?

转载 作者:可可西里 更新时间:2023-11-01 13:28:09 26 4
gpt4 key购买 nike

我需要在 C# Windows 应用程序中使用 appid 和 app secret 获取 FaceBook 访问 token 。实际上我做了下面的编码,但只获得了应用程序 token 而没有获得访问 token 。

如何实现获取access token?

 FacebookClient client = new FacebookClient();
dynamic result = client.Get("oauth/access_token", new
{
client_id = "1498796747020950",
client_secret = "c50341f5b4e42a595f0791467f439e38",
grant_type = "client_credentials"
});
var accessToken = result.access_token;

最佳答案

您请求的 token 是一个应用程序访问 token ,不能用于每个 API 调用(相反,它的使用非常有限)。

让我尝试详细阐述访问 token 和 OAuth 2.0 以阐明概念。

OAuth 2.0

  1. 使用标准的 OAuth 2.0 实现,第一步是调用服务提供商 (facebook) 的 OAuth 对话-

    \GET http://www.facebook.com/dialog/oauth

    Parameters-

    • client_id (APP ID)
    • redirect_uri (App's Redirect Url)
    • scope (permissions - optional)

    Returns-

    • code (appended with the redirect url)
  2. 用户成功验证应用程序后,服务提供商 (facebook) 返回一个 code 并附加传递的 redirect_url。所以你会被重定向到-

    {redirect-url}?code=XXXXXXXXXXXXXXXXX

    然后我们使用此代码并请求access_token-

    \GET https://graph.facebook.com/oauth/access_token

    Parameters-

    • client_id (APP ID)
    • client_secret (APP Secret)
    • code
    • redirect_uri

如果您不想构建此手动流程,您可以使用处理此流程的 SDK。它只会调用outh对话框,如果成功会给你访问 token 作为响应。 Facebook为iOS提供官方SDK , Android , JavascriptPHP ;还有other third-party SDKs .现在,这将为我们提供一个访问 token ,更准确地说,是一个用户访问 token 。这是唯一获取用户访问 token 所需的过程(即需要用户参与)。您请求的是应用程序访问 token ,我现在将详细说明 facebook 访问 token -

访问 token

有 3 种类型的访问 token 支持不同的用例:

  • 用户访问 token - 用户 token 是最常用的 token 类型。每当应用程序调用 API 以代表他们读取、修改或写入特定人员的 Facebook 数据时,都需要这种访问 token 。我已经解释了获取此 token 的详细过程。

  • 应用访问 token - 应用访问 token 用于代表应用而非用户向 Facebook API 发出请求。这可用于修改应用程序的参数、创建和管理测试用户或读取应用程序的见解。应用访问 token 还可用于代表已向您的应用授予开放图发布权限的人员向 Facebook 发布内容。

    除此之外,应用访问 token 无能为力。它就像您的应用程序的密码,因此切勿与任何人共享您的应用程序 secret ,这一点很重要。这可以通过您在问题中提到的 API 调用获得-

    GET /oauth/access_token?
    client_id={app-id}
    &client_secret={app-secret}
    &grant_type=client_credentials

    或直接from here ,或者简单地使用 {app-id}|{app-secret}

  • 页面访问 token - 页面访问 token 用于图谱 API 调用以管理 Facebook 页面。要生成页面访问 token ,页面管理员必须授予名为 manage_pages 的扩展权限。授予此权限后,您可以使用以下图形 API 请求检索页面访问 token :

    /GET  /{page-id}?fields=access_token

<子> Reference


我不太确定这一切对您来说是否重要,但我希望它能帮助您消除一些疑虑。

如果应用访问 token 对您很重要,您可以通过我提到的三种方法中的任何一种来使用它。如果不是,则用户访问 token 是您需要的,没有用户交互就无法获得。

关于facebook - 如何在没有任何登录凭据的情况下使用 appid 和 app secret 获取 facebook 访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24401241/

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