7

ソーシャルネットワークのGoogleコンタクトインポートコードをコーディングしています。このインポートはユーザーページで発生します。URLはユーザーごとに異なります(例:profile / user1、profile / user2)。

ただし、グーグルではリダイレクトURLを1つしか設定できないようで、ワイルドカードが特定のURLではなくドメインと一致することを許可するグーグルについての言及が見つからないようです。

これを行う方法はありますか、それとも1つのURLに設定したままにする必要がありますか?

前もって感謝します。

4

5 に答える 5

16

それを達成するためのPHPコードがあります。できないと言うのは間違いです。私はこの手法を Analytics、Adwords、Google+、YouTube に使用しました。上記のすべてのサービスで動作しました。

トリックは、動的 URL として使用される「状態」パラメーターを使用することです。皆さんのお役に立てば幸いです。

// Auth URL
// $campaign_id will be different for everyone
$dynamic_redirect = 'http://' . $_SERVER['HTTP_HOST'] . "/analytics/$campaign_id";
$client_id = 'XXXXXXXX';
$redirect_uri = 'API_REDIRECT_URI'; // Fixed URL, it will not be changed

$auth_url = "https://accounts.google.com/AccountChooser?service=lso&continue=";
$auth_url .= urlencode("https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.googleapis.com/auth/analytics.readonly&access_type=offline&redirect_uri=$redirect_uri&approval_prompt=force&state=$dynamic_redirect&client_id=$client_id");


/*************************************/
API_REDIRECT_URI PAGE
/*************************************/
$redirect_url = $_GET['state'];
于 2013-10-15T13:31:58.693 に答える
6

これは不可能であることがわかったので、誰かがこれを探しているなら、方法はありません。動的なURLではなく、固定されたURLにGoogleをリダイレクトさせるだけで、問題を修正することができました。

于 2012-05-14T12:37:25.850 に答える
1

簡単なことを 1 つ行うことができます。Auth URL作成時にセッションに「ユーザーページURL」を入れます。コールバック ページで、セッションから「ユーザー ページ URL」を取得し、ユーザーをそのページに単純にリダイレクトします。

PHPを使用して上記を正常に達成できました。

于 2013-05-14T07:43:38.637 に答える
0

これを行うアプリを知っているので、可能です。私はそれを行う方法についてこの投稿を見つけました - まだ試していませんが、試してみる価値はあります: http://www.ioncannon.net/programming/1443/google-oauth-for-installed-apps-php-example /

于 2013-06-19T16:48:43.610 に答える
-2

Google API 設定で複数のリダイレクト URI を 1 行に 1 つずつ指定できます。

Google API コンソール -> API を選択 -> API アクセス -> 設定の編集 -> リダイレクト URI の承認の下

入力..

http://one.example.com/contactimporter.php

http://two.example.com/contactimporter.php

于 2013-07-16T10:00:27.543 に答える