3

私は Python を使用して Facebook のインサイト情報にアクセスすることに取り組んできました。私が開発したアプリのインサイトに加えて、公開情報 (cocacola のページからの「いいね」など) を取得することができました。

私はページとアプリの両方の管理者兼開発者であるため、facebook.com/insights にアクセスすると、ページのセクションとアプリのセクションが表示されます。グラフ API から両方の洞察を取得し、それらを個人用データ​​ベースに保存できるようにしたいと考えています。アプリのインサイトを取得することは難しくありませんでした。アプリを作成したときに app_id と app_secret を取得し、このページhttp://developers.facebook.com/docs/authentication/のアプリ ログインのプロセスに従いました。これにより、アプリの洞察を得るために使用できるアプリの access_token が得られました。

ページに対して同じことをしようとすると、さらに問題が発生しました。以前の多くの投稿で述べたように、Facebook のドキュメントのほとんどは、ページからの洞察を管理または読み取るための access_token を取得する Facebook アプリに関係しています。これがユーザーのページと対話するアプリに役立つことを理解しています。しかし、私の本能は、外部アプリを介さずに、私が管理者であるページの read_insights を使用してアクセス トークンを取得できるはずだと言っています。

自分のページの分析情報を読み取ることができた唯一の方法は、Graph Api Explorer を使用することでした。Explorer を使用して access_token を取得しました (access_token ボタンを使用して、Explorer が個人データにアクセスし、manage_pages および read_insight 拡張アクセス許可を要求できるようにします)。次に、上で投稿した /docs/authentication/ ページのページ ログインの手順に従って、管理している Facebook ページの access_token を取得しました。その後、最終的にhttps://graph.facebook.com/PAGE_ID/insights?access_token=RETRIEVED_TOKENを実行できました。ただし、これは access_token を見つける非常に面倒な方法です。面倒ではないこのトークンを取得する方法はありますか? ご協力いただきありがとうございます。私はかなり長い間これに苦労してきました。

アプリのアクセス トークンを取得するために使用したコードも含めました。

def get_access_token():
    args = dict(client_id=FACEBOOK_APP_ID, client_secret=FACEBOOK_APP_SECRET, grant_type="client_credentials" )
    url = "https://graph.facebook.com/oauth/access_token?" + urllib.urlencode(args)
    response = urlparse.parse_qs(urllib.urlopen(url).read())
    access_token = response['access_token'][0]
    return access_token
4

1 に答える 1

1

古典的な方法を使用しない理由:

  • アプリを作成し、facebook (JS SDK など) を使用してログインし、offline_accessおよびread_insights権限を付与します。offline_access は、必要なときにいつでも分析情報にアクセスするために使用できる永続的な access_token を提供します。
  • JS SDK (メソッド FB.login) は、必要な access_token を含むオブジェクトを返します。
于 2011-09-28T13:28:28.630 に答える