0

以下のhttps://github.com/facebook/facebook-php-sdkからFacebookPHPSDK(v.3.2.0)を使用してFacebookログインURLを作成しようとしています 。 これが私のコードです

$config = array(    'appId'  => '***',  
                    'secret' => '***',  
                    'cookie' => true 
                    );
require_once("facebook.php");

$facebook = new Facebook($config);

$params = array('scope' => 'user_birthday, user_location, email',
                'redirect_uri' => "http://my_domain.in/user/fb",    
                'display' => 'popup'
                );
$loginUrl = $facebook->getLoginUrl($params);

問題は、loginUrlをクリックすると、Facebookから次のようなエラーが発生することです。

APIエラーコード:100 APIエラーの説明:無効なパラメータエラーメッセージ:表示タイプのポップアップ。www.facebook.comでは無効です。別のドメイン(m.facebook.com、www.facebook.com)にアクセスするか、サポートされている次の表示タイプのいずれかを使用する必要があります:ページ、ポップアップ、iframe、タッチ、なし

問題は、どこで失敗したのかということです。fyi、以前はまったく同じコードで問題ありませんでしたが、どういうわけか今は機能していません。最初に問題が実際に発生したときはちょっと見落としましたが、その間にfacebook-php-sdkを3.1.1から3.2.0にアップグレードしました。 FacebookアプリのドメインとURLの設定。

アプリドメイン:my_domain.inサイトのURL:http ://www.my_domain.in

さらに、私もパラメータをに変更しました

$params = array('scope' => 'user_birthday, user_location, email',
                'redirect_uri' => "http://my_domain.in/user/fb"
                );

私はまだ別のメッセージでエラーを受け取ります

APIエラーコード:100 APIエラーの説明:無効なパラメータエラーメッセージ:サポートされていないスコープ:' email。'。サポートされているスコープ:ads_management create_event create_note emailexport_stream friends_about_me friends_activities friends_birthday friends_checkins friends_education_history friends_events friends_games_activity friends_groups friends_hometown friends_interests friends_likes friends_location friends_notes friends_online_presence friends_photo_video_tags friends_photos friends_questions friends_relationship_details friends_relationships friends_religion_politics friends_status friends_subscriptions friends_videos friends_website friends_work_history manage_friendlists manage_notifications manage_pages offline_access photo_upload publish_actions publish_checkins publish_stream read_friendlists read_insights read_mailbox read_page_mailboxes read_requests read_stream rsvp_event share_item SMS status_update user_about_me user_activities user_birthday user_checkins user_education_history user_eventsuser_games_activity user_groups user_hometown user_interests user_likes user_location user_notes user_online_presence user_photo_video_tags user_photos user_questions user_relationship_details user_relationships user_religion_politics user_status user_subscriptions user_videos user_website user_work_

助けてください、ありがとう。

4

2 に答える 2

0

displayこのシナリオでは、URLを作成しているだけなので、このパラメーターを使用することはできません。URL自体には、「ポップアップで開きたい」という機能が含まれていません。

このパラメーターは主に、JSSDKのFB.uiメソッドを使用してダイアログを呼び出すためのものです。

$params配列からエントリを削除するだけで、機能するはずです。

于 2012-08-27T08:37:38.003 に答える
0

解決しました。

問題は、以下にコード化されているように、href属性に追加の文字(ドット)があったことでした。

<a href="<?php echo $loginUrl; ?>.">

エラーメッセージ(ポップアップ* 。 *電子メール* *)を再度確認した後、それに気づきました。

キャラクターを削除したときに機能しました。そのため、facebook-php-sdkバージョンやFacebookアプリのドメイン/URL設定が原因ではありません。

ご迷惑をおかけして申し訳ございません。

于 2012-08-28T10:55:38.123 に答える