web-dev-qa-db-ja.com

Facebook php sdkでアルバム/写真にアクセスしているときに「このリソースを要求するにはアクセストークンが必要です」

Php SDKを使用して、Webサイトのユーザーのアルバムと写真にアクセスしています。ログインでき、アルバムや写真に関するすべての情報を取得することもできます。

ただし、これらの写真をWebページに表示することはできません。

グラフAPIを試すと、次のような写真/アルバムを取得できます。

https://graph.facebook.com/131833353530147/picture

次のエラーメッセージが表示されます。

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

しかし、プロフィール写真を表示しようとしても有効なアクセストークンがあります。

これに関するヘルプは大歓迎です。

35
Alloi

必要なものは3つあります。

  1. これらの写真の所有者とoAuthが必要です( 'user_photos'拡張アクセス許可付き)

  2. アクセストークンが必要です(oAuthの完了後にURLボックスに返されます)。)

  3. これらが完了したら、次のように写真にアクセスできますhttps://graph.facebook.com/me?access_token=ACCESS_TOKEN

ここですべての情報をより詳細に見つけることができます: http://developers.facebook.com/docs/authentication

26
jwmann

有効なユーザーIDとアクセストークンでこのURLを試してください:

https://graph.facebook.com/ {userid}/photos?limit = 20&access_token = {access_token}

3
Sanchit
  1. Facebookにログインします。

  2. http://graph.facebook.com に移動します

  3. すべてのフィードとそれに対応するアクセスコードが見つかります。例 https://graph.facebook.com/me/home?access_token=2227470867|2.AQAQ6FqN8IW-PUrR.3600.1309471200.0-137977022924629|0sbmdhJN6o9y9J4GDWs8xEygyX8

楽しい!

2

実際のaccess_tokenを取得するには、次のPHPコードを使用してプログラムで行うこともできます。

 require 'facebook.php';

 $facebook = new Facebook(array(
   'appId'  => 'YOUR_APP_ID',
   'secret' => 'YOUR_APP_SECRET',
 ));

 // Get User ID
 $user = $facebook->getUser();

 if ($user) {
   try {
     $user_profile = $facebook->api('/me');
     $access_token = $facebook->getAccessToken();
   } catch (FacebookApiException $e) {
     error_log($e);
     $user = null;
   }
 }
1
Peter Teoh

アクセストークンを取得するには: facebook Graph API Explorer

特定のアクセス許可をカスタマイズできます。基本的な許可はデフォルトで含まれています。

1
Ujjwal Singh

さて、あなたはあなたの情報にアクセスするための有効なアクセストークンを持っていますが、他の人にはアクセスできません(これはログインしていて、あなたの情報にアクセスする許可を与えているためです)。しかし、写真の所有者は同じことを行っていない(ログイン+許可)ため、違反エラーが発生しています。

許可を取得するには、この link を参照して、任意のユーザーにどのような情報を求めるかを決定し、許可を決定します。後でこれをコードに埋め込みます。 (ログイン関数呼び出しで)

ありがとう

0
sashtinathan