在Facebook的API中是否有不同类型的访问令牌?

问题描述:

例如,生成与用于登录的iFrame对话框不同的iFrame对话框是否需要access_token?如果是这样,我应该使用哪个URL来获取访问令牌以生成iFrame的提要对话框?在Facebook的API中是否有不同类型的访问令牌?

我问这个问题,因为我尝试手动使用以下URL(我的文档中找到)

https://graph.facebook.com/oauth/access_token产生一个访问令牌? 类型= client_cred &的client_id = CLIENT_ID & client_secret = CLIENT_SECRET

我收到一个访问令牌回来,但是当我用它像这样:

FB.ui({ 
        method: 'feed', 
        name: 'Facebook Dialogs', 
        link: 'http://developers.facebook.com/docs/reference/dialogs/', 
        picture: 'http://fbrell.com/f8.jpg', 
        caption: 'Reference Documentation', 
        description: 'Dialogs provide a simple, consistent interface for applications to interface with users.', 
        message: 'Say something about the tickets you just bought', 
        display: 'iframe', 
        access_token: ACCESS_TOKEN; //access_token returned by the above URL 
       }, 
       function(response) { 
        if (response && response.post_id) { 
        console.log('Post was published.'); 
        } else { 
        console.log('Post was not published.'); 
        } 
       } 
        ); 

Facebook的饲料对话框将保持加载屏幕上3条永远。

所以我要求错误的access_token?为什么Facebook对话框没有加载?

注意:这是所有在客户端JavaScript。

是的,有不同类型的标记。每个令牌都分配给特定的“用户”。令牌允许您以“用户”身份访问选项。有2个不同的“用户”,一个真实的和你的应用程序。您可以为您的应用程序请求令牌,以便您可以代表授予您“脱机”访问权限的用户执行操作。您请求的是应用程序令牌,它不是真正的用户。

+0

几点使其更加准确:1)用户,应用和页面有3种不同的令牌。 2)offline_access权限是针对用户而不是针对app令牌的。 – 2011-10-03 00:48:23