2013-07-26 148 views
0

显示页时间轴我想创建一个公共网站,其中显示了从各个Facebook网页的最后5分时间表的帖子。在公共网站

我使用Facebook的图形API来请求JSON和JSON解析器(www.aspjson.com)读取与ASP经典的JSON。

到目前为止,我已经计算出的代码非常简单:

<!--#include file="scripts/aspJSON1.12.asp"--> 
<% 

response.codepage = 65001 
response.charset = "utf-8" 

function EncodingFixer(str) 
    EncodingFixer = replace(str, "u00e5", "&aring;") 
    EncodingFixer = replace(EncodingFixer, "u00e6", "&aelig;") 
    EncodingFixer = replace(EncodingFixer, "u00f8", "&oslash;") 
end function 

sub FacebookAPI() 
    set objHTTP = createobject("MSXML2.ServerXMLHTTP.6.0") 
    objHTTP.Open "GET", Location, false 
    objHTTP.Send 

    set oJSON = new aspJSON 
    oJSON.loadJSON(objHTTP.responsetext) 

    set ItemList = oJSON.data("data") 

    for each Item in ItemList 
    PostDate = formatdatetime(left(ItemList.item(Item).item("created_time"), 10), 2) 
    Message = EncodingFixer(ItemList.item(Item).item("message")) 
    response.write "<br /><strong>" & PostDate & "</strong><br />" & Message & "<br />" 
    next 
end sub 

Location = "https://graph.facebook.com/PAGE_ID/feed?fields=created_time,message,comments,likes&limit=5&access_token=ACCESS_TOKEN" 
call FacebookAPI() 

%> 

我的问题是这样的:我创建图形API浏览器里面的道理,和一点点时间后,它过期。 我找不到上创建访问令牌工作的例子,谁能帮助?

回答

0

这些令牌是短暂的,只有持续两小时。你需要让自己不会在场景5期满https://developers.facebook.com/roadmap/offline-access-removal/

交易所的长期访问令牌使用短命的用户访问令牌的页面访问令牌

https://graph.facebook.com/oauth/access_token?    
    client_id=APP_ID& 
    client_secret=APP_SECRET& 
    grant_type=fb_exchange_token& 
    fb_exchange_token=EXISTING_ACCESS_TOKEN 

通过使用长寿命的用户访问令牌,查询[用户ID] /占端点

https://graph.facebook.com/me/accounts? 
    access_token=EXTENDED_ACCESS_TOKEN 

https://graph.facebook.com/PAGE_ID?fields=access_token&access_token=EXTENDED_ACCESS_TOKEN

现在将提供不应该是一个用户管理页面过期页面访问令牌。

页令牌将没有过期。

查看PHP的完整示例:http://philippeharewood.com/facebook/getting-your-facebook-page-on-your-website-with-access-tokens/