【问题标题】:What calls are possible using an "app access token"?使用“应用程序访问令牌”可以进行哪些调用?
【发布时间】:2013-04-30 09:17:45
【问题描述】:

我刚刚开始创建 Facebook 内应用。当用户在first 时间访问我的应用程序时,我在第一步中遇到了麻烦。基本上,在请求访问信息之前,我想要一个欢迎页面来解释该应用程序是什么。一张有猫的可爱图片,无论如何,但不会直接将用户发送到login to my app dialog

因此,用户没有登录我的应用程序,我只有“应用程序访问令牌”来处理图表。根据this official Facebook dev page(最后),我应该有一些基本的信息访问权限。

问题是:如何?我可以使用app access token 对图表进行哪些调用?

/me 不行,它需要user access token

/$user_id是公开信息,无论有无令牌,我都可以检索基本信息。但我没有任何 user_id 可通过$signedRequest 使用(仅提供国家、地区和年龄)

我如何得到(引用):

- Basic Profile Info of a User (ID, Name, Username, Gender)
- A User’s Friends and their IDs
- Permissions granted by the User to your App

【问题讨论】:

    标签: facebook-graph-api facebook-access-token


    【解决方案1】:

    您不应该将您的应用程序令牌用于管理您的应用程序以外的任何事情。

    在用户实际授予数据之前无法获取数据。

    你提到的段落在你的申请范围内

    虽然应用访问令牌主要用于发布 代表用户返回 Facebook 的信息,有一个限制 可以使用应用程序从 Facebook 检索的一组信息 访问令牌。

    • 用户的基本个人资料信息(ID、姓名、用户名、性别)
    • 用户的好友及其 ID
    • 用户授予您的应用的权限

    假设我知道 User001 添加了我的应用,并且我想检查一些管理项目。我没有 User001 的访问令牌(或者我不应该手动使用它)所以我提供应用程序访问令牌来获取通常会返回的数据

    请注意,我可以提供一个应用令牌,让我可以查看(添加应用的用户的)朋友,但如果我选择了这些项目符号中未提及的对象...

    【讨论】:

    • 好的,感谢您的快速回归。我想我开始以“facebook”的方式理解事物了。您的第一句话很重要:APP 访问令牌仅用于管理目的,一旦用户已授予您访问权限。告诉我我是否正确,我相信文档应该更明确地说明这种用法。 /我现在四处寻找不同的方法
    • 正确,/me 基本上是已获得访问令牌的当前用户/页面的快捷方式。如果您有用户访问令牌,我将返回经过身份验证的用户,如果您有页面访问令牌,我将返回经过身份验证的页面。
    【解决方案2】:
    • 用户的基本个人资料信息(ID、姓名、用户名、性别):

    是的。 https://graph.facebook.com/USER_ID?fields=id,name,%20username,%20gender&access_token=APP_ACCESS_TOKEN

    • 用户的好友及其 ID

    如果你请求https://graph.facebook.com/USER_ID/friends?access_token=APP_ACCESS_TOKEN,你会得到:

    { “错误”:{ "message": "无法查找100001234567的所有好友。只能查找登录用户或登录用户的好友 您的应用程序的用户。", "type": "NoIndexFunctionException", “代码”:604 } }

    法律解决方案的答案是,不,您必须使用用户访问令牌。 类似的讨论在这里Get the Friends of my friend using the Graph API

    Permissions granted by the User to your App
    

    是的。 https://graph.facebook.com/USER_ID/permissions?access_token=APP_ACCESS_TOKEN

    【讨论】:

    • 但首先,我需要 USER_ID,如果没有用户的特定授权访问权限,我将无法检索它。除此之外,无论是否令牌,您都可以从 user_id 获取基本信息。困难的部分是首先知道您的应用正在与谁交谈,而 Facebook 并没有像我想的那样简单……感谢您的回归
    • 或者您可以访问用户的cookies?用户 ID 在 cookie 文件中,例如:.facebook.com TRUE / TRUE 0 c_user 12012345
    • 我不是网络开发人员,但是,我知道 cookie 具有用户 ID(如果用户已登录)。我不确定您是否能够检索 cookie,我只是提供了可能性。 :)
    猜你喜欢
    • 1970-01-01
    • 2012-08-12
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    相关资源
    最近更新 更多