如何使用Facebook Graph API v2.12检索属于企业的所有应用程序?

时间:2018-02-09 15:51:55

标签: facebook-graph-api

(图示的代码是用Python编写的。我猜,它是不言自明的。问题针对的是各自的HTTP GET请求。)

这适用于API v2.10:

import requests

req = requests.request(
    "GET",
    "https://graph.facebook.com/v2.10/"+str(business_id)+"/apps",
    params={
        "access_token": access_token
    }
)

req.json()的结果:

{'data': [{'access_status': 'CONFIRMED',
   'access_type': 'OWNER',
   'id': '19...30',
   'name': 'example.org',
   'permitted_access_types': ['CAN_ADVERTISE_APP'],
   'permitted_roles': ['ADMINISTRATOR',
    'DEVELOPER',
    'TESTER',
    'INSIGHTS_USER',
    'TEST_USER']},
   ...
]}

这很棒 - 但对最新API版本(2.12)的请求相同:

req = requests.request(
    "GET",
    "https://graph.facebook.com/v2.12/"+str(business_id)+"/apps",
    params={
        "access_token": access_token
    }
)

产生弃用错误:

{'error': {'code': 12,
  'fbtrace_id': 'A...PZ',
  'message': '(#12) apps field is deprecated for versions v2.11 and higher',
  'type': 'OAuthException'}}

如何重写v2.12的请求?

1 个答案:

答案 0 :(得分:1)

https://developers.facebook.com/docs/graph-api/changelog/version2.11#mapi-new-BM

  

访问商家应用:

     

BUSINESS_ID/owned_apps - 获取业务所拥有的应用列表   BUSINESS_ID/client_apps - 获取商家客户的应用列表
  BUSINESS_ID/pending_client_apps - 获取属于正在等待批准的企业客户的应用列表

https://developers.facebook.com/docs/marketing-api/connectionobjects/v2.12#app

  

您可以列出您可以为其宣传的特定业务经理的所有应用。使用具有ads_management权限的访问令牌查询业务的owned_apps边缘:

curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/owned_apps"