代码之家  ›  专栏  ›  技术社区  ›  kender DaveL

Facebook图形api-某些页面返回空数据集

  •  5
  • kender DaveL  · 技术社区  · 14 年前

    我正试图从Facebook获取数据,使用graph API。

    我的请求如下: http://graph.facebook.com/<page_name>/ ,它返回有关页的基本数据。如果我要求: http://graph.facebook.com/<page_name/feed/ ,我得到一个json,其中包含来自此页提要的数据。

    有些页面需要身份验证才能访问,例如Smirnoff页面( http://graph.facebook.com/Smirnoff )还有一些“酒精”页面(我想)。所以我产生了 access_token 对于我正在使用的应用程序,允许它访问我的帐户。现在我可以把 基本的 数据 Smirnoff ,但每当我尝试访问较低级别的数据时(例如 feed posts ),我在json中得到一个空数组:

    {
       "data": [
    
       ]
    }
    

    有没有办法从API获取这些数据?还是被页面所有者阻止?或者我的授权应用程序需要额外的权限?

    4 回复  |  直到 14 年前
        1
  •  2
  •   Box    13 年前

    你提到的那页好像有点不对劲。 我试过了 https://graph.facebook.com/Smirnoff 在我的Firefox中得到错误信息“false”。

    我尝试了官方文档(https://developers.facebook.com/docs/reference/api/)中提到的页面,没有发现任何问题。

    页: https://graph.facebook.com/cocacola (可口可乐页面)

    {
       "id": "40796308305",
       "name": "Coca-Cola",
       "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/203509_40796308305_256509_s.jpg",
       "link": "https://www.facebook.com/coca-cola",
       "category": "Food/beverages",
       "likes": 29964683,
       "website": "http://www.coca-cola.com",
       "username": "coca-cola",
       "founded": "1886",
       "products": "Coca-Cola is the most popular and biggest-selling soft drink in history, as well as the best-known product in the world.\n\nCreated in Atlanta, Georgia, by Dr. John S. Pemberton, Coca-Cola was first offered as a fountain beverage by mixing Coca-Cola syrup with carbonated water. Coca-Cola was introduced in 1886, patented in 1887, registered as a trademark in 1893 and by 1895 it was being sold in every state and territory in the United States. In 1899, The Coca-Cola Company began franchised bottling operations in the United States.\n\nCoca-Cola might owe its origins to the United States, but its popularity has made it truly universal. Today, you can find Coca-Cola in virtually every part of the world."
    }
    

    我想我应该收到一条消息,警告我在尝试时应该使用访问令牌 https://graph.facebook.com/Smirnoff网站 .

    好 啊。让我继续。(请将粗体文本替换为正确的值。)

    1. 请登录Facebook并创建Facebook应用程序。

    2. 请访问此链接: https://www.facebook.com/dialog/oauth?client_id= 你的应用程序ID &重定向uri(amp;R)= 统一资源定位地址 &scope=用户状态,脱机访问

    3. 请允许你的Facebook应用。

    4. 请使用此链接获取访问令牌: https://graph.facebook.com/oauth/access_token?client_id= 你的应用程序ID &客户端机密(amp;C)= 你的应用程序秘密 &grant_type=客户端凭据

    5. 请使用此链接获取应用程序访问令牌: https://graph.facebook.com/oauth/access\u令牌?客户id= 你的应用程序ID &客户端机密(amp;C)= 你的应用程序秘密 &grant_type=客户端凭据

    6. 请使用刚才获得的访问令牌访问您的页面。

    根据 https://developers.facebook.com/docs/reference/api/ ,人员和页面支持的连接包括:

    Friends: https://graph.facebook.com/me/friends?access_token=...
    News feed: https://graph.facebook.com/me/home?access_token=...
    Profile feed (Wall): https://graph.facebook.com/me/feed?access_token=...
    Likes: https://graph.facebook.com/me/likes?access_token=...
    Movies: https://graph.facebook.com/me/movies?access_token=...
    Music: https://graph.facebook.com/me/music?access_token=...
    Books: https://graph.facebook.com/me/books?access_token=...
    Notes: https://graph.facebook.com/me/notes?access_token=...
    Permissions: https://graph.facebook.com/me/permissions?access_token=...
    Photo Tags: https://graph.facebook.com/me/photos?access_token=...
    Photo Albums: https://graph.facebook.com/me/albums?access_token=...
    Video Tags: https://graph.facebook.com/me/videos?access_token=...
    Video Uploads: https://graph.facebook.com/me/videos/uploaded?access_token=...
    Events: https://graph.facebook.com/me/events?access_token=...
    Groups: https://graph.facebook.com/me/groups?access_token=...
    Checkins: https://graph.facebook.com/me/checkins?access_token=...
    

    如果您的页面是音乐页面,请尝试以下链接: https://graph.facebook.com/me/music?access_token= 访问令牌

    请告诉我我的方法是否有效。谢谢。

        2
  •  2
  •   maxwell2022    12 年前

    该页需要发布,否则提要中不会显示任何内容

        3
  •  0
  •   Nate Totten    14 年前

    如果您是该页面的管理员,那么您尝试访问的大部分内容只能通过API获得。因此,当接收到空数组时,几乎总是提供的访问令牌没有访问您请求的内容的权限。如果访问令牌无效,那么API实际上会抛出一个错误。

        4
  •  -3
  •   Firsh - justifiedgrid.com    12 年前

    我犯了错误,尤其是可口可乐。当我在GET中发送访问令牌时,它可以提取他们相册的照片。如果我不知道,那只是一个空的集合。