0

Facebookユーザープロファイルの公開情報を取得できる非常に基本的なC#アプリケーションを作成したいと思います。Graph APIを数ページ読みましたが、問題があります。ここでは、一般向けのあらゆる種類の情報を含むユーザープロファイルを確認できます。

http://tr-tr.facebook.com/people/A-Altan-Yurt/100002356385895

ただし、次のリンクでGraph APIを使用して、これらの情報をすべて取得することはできません。

https://graph.facebook.com/100002356385895

ページをスクレイピングしようとしましたが、返されたドキュメントに有用な情報が含まれていません。これらの情報はすべて公開されているので、アクセス制限があるべきではないと思います。私はここで何が間違っているのですか?

4

1 に答える 1

1

はい、公開されているアクセス可能なデータでさえ、Facebook インターフェイスの外部で取得することはできません。

データを取得するには、有効なアクセス トークンが必要です。たとえば、同じユーザーのフィードの URL を試すと、次のようになります。

{
   "error": {
      "message": "An access token is required to request this resource.",
      "type": "OAuthException",
      "code": 104
   }
}

Graph API Explorerでこれと同じ URL を試すことができます。このアプリを承認すると、アクセス トークンが取得され、そのユーザーのパブリック フィードが取得されます。

そこで (API エクスプローラーで) 使用されるアクセス トークンはアプリ アクセス トークンです。これはおそらく最も簡単に取得できるトークンです。アプリとしての認証に関するドキュメントはこちらです。アクセス トークンを取得したら、グラフ API のクエリを開始し、パブリック データを取得できます。

ユーザー トークンなど、他のアクセス トークンの種類でそれを行うことができます。


編集

Facebook のユーザーに対して公開されている場合でも、アプリケーションに対しては公開されていないため、たとえば教育 (user_education_history) に対して適切な権限を要求する必要があります。

User objectのドキュメントで、各フィールドに必要な権限を正確に確認できます。フィールドテーブルの 3 番目の列のタイトルはPermissionsで、フィールドごとに必要なものが表示されます。

于 2012-04-15T20:37:51.147 に答える