-1

Facebookログインをアプリに統合していますが、すべて正常に機能しています。今欲しいものは2つ。

  1. 新しいユーザーが来て、「Facebookでログイン」をクリックするたびに、すべてのプロセスの後、そのユーザーの壁に投稿が投稿され、ユーザーがアプリへのリンクで私のアプリの使用を開始したことを望んでいます..ちょうど私たちが見るようにそのゲームの例: 「<ユーザー> がホールデム ポーカーを使い始めた」

  2. ユーザーのプロフィール写真を取得...

ここにリンクがありますhttp://oauth.netne.net/index.php

どうすればこれを達成できますか?

4

2 に答える 2

1

ユーザーのウォールに投稿する場合:

Javascript の使用:

    function doPost() {
    var params = {};
    params['message'] = "<USER> started using <YOUR APP NAME>";
    params['name'] = '<YOUR APP NAME>';
    params['description'] = '<DESCRIPTION ABOUT YOUR APP>';
    params['link'] = "<LINK TO YOUR WEBSITE>";
    //ON CLICKING THE POST WHERE YOU WANT USER  TO BE REDIRECTED e.g. www.yoursite.com
    params['picture'] = '<PATH OF PICTURE THAT YOU WANT TO BE DISPLAYED ON THE POST>';
    FB.api('/me/feed', 'post', params, function(response) {
        if(!response || response.error) {
            console.log('ERROR OCCURED '+response.error);
        }
        else {
            console.log('POSTED SUCCESSFULLY');
        }
    }}

PHP の使用:

$ret_obj = $facebook->api('/me/feed', 'POST',
       array( 'link' => '<LINK TO YOUR WEBSITE>',
              'message' => '<USER> started using <YOUR APP NAME>',
              'description' => "<DESCRIPTION ABOUT YOUR APP>")); //Returns the POST ID.

ユーザーの画像を取得する場合:

$fbImageUrl = https://graph.facebook.com/**<FBUSER_ID>**/picture?type=<VALUE>(また)

$fbImageUrl = https://graph.facebook.com/**<FBUSER_NAME>**/picture?type=<VALUE>

'small' または 'normal' または 'large' または 'square' のいずれかです。

//画像を保存する場合:

$localFilePath = 'pathToImagesFolder/<SOME_NAME>.jpg'; //Use relative path.
$fbImage = file_get_contents($fbImageUrl); //Fetches the image and stores it in variable.
file_put_contents($file1, $img1); //Will save the image in the path specified.
于 2013-03-16T10:48:20.170 に答える
0

うん、Uはその状態を処理する必要があります。ユーザーがアクセスを許可しなかった場合これを試してください:

  try {
        $ret_obj = $facebook->api('/me/feed', 'POST',
        array( 'link' => '<LINK TO YOUR WEBSITE>',
               'message' => '<USER> started using <YOUR APP NAME>',
               'description' => "<DESCRIPTION ABOUT YOUR APP>"));

      } catch(FacebookApiException $e) {
        $login_url = $facebook->getLoginUrl(array('scope' => 'publish_stream'));
        header("Location: $login_url"); 
      }

しかし、これは、ユーザーが継続的にリダイレクトされる場合、ユーザーを苛立たせます。したがって、ユーザーに強制的に受け入れるよりも、このステップをスキップする方がよいでしょう。サインアップ時に必要なすべてのスコープを提供する必要があることを忘れないでください。

于 2013-03-16T12:33:15.670 に答える