1

初めて Facebook アプリを作成しましたが、publish_stream 権限が必要です。取得した各権限をループしてそこにあるかどうかを確認することで簡単に確認できますが、ユーザーが拒否した場合、PHP を使用して何ができますか?

このアプリは、facebook 内に「キャンバス アプリ」またはその名前が何であれ埋め込まれています。ログインURLに新しいアクセス許可を与えることで、外部サイトでより多くのアクセス許可を要求する方法は知っていますが、アプリ内でそれを行う方法がわかりませんか?

グーグルでグーグル検索しましたが、アクセス許可のあるログインURLを取得する方法しか見つかりませんでした。試してみましたが、すでにログインしていたため何も起こりませんでした。

私が試したコードは次のとおりです。

        $loginUrl = $facebook->getLoginUrl(array(
            'req_perms' => 'publish_stream,user_likes',
            'next' => $_SERVER['PHP_SELF'],
            'cancel_url' => $_SERVER['PHP_SELF'],
        ));

        echo "<a href='" . $loginUrl . "'>login</a>";
4

1 に答える 1

0

ログインURLに新しいアクセス許可を与えることで、外部サイトでより多くのアクセス許可を要求する方法を知っていますが、アプリ内でどのようにそれを行うことができるのかわかりませんでしたか?

基本的に同じ方法で、適切なスコープパラメータを使用して[認証]ダイアログを呼び出します。

サンプルコードで間違っているのは、アプリのiframe内のダイアログのURLにリンクしているだけですが、[認証]ダイアログではiframeに表示できません。target="_top"リンクに追加すると、[認証]ダイアログが実際に表示されます。(また、redirect_uriパラメーターをFacebook上のアプリのアドレスに設定する必要があります。たとえばhttps://apps.facebook.com/YOUR_APP_NAMESPACE。)

もちろんFB.login、代わりにJS SDKを使用することもできます。これにより、[認証]ダイアログがポップアップとして表示されます。

于 2012-08-10T08:26:21.180 に答える