-1

私は現在、ユーザー トークンを取得するためにソーシャル プラグイン Web サイトへの API 呼び出しを必要とする Web サイトを開発しています。ユーザー トークンを使用して、Web サイトのログイン ウィンドウを呼び出し、ユーザーにログイン資格情報を使用してログインさせ、アプリが必要なデータを取得できるようにします。

1) Web サイトへの API 呼び出しを行うと、2) 以下に示すように、XML のユーザー トークンを含む URL が返されます。

1)

<a href="<?php echo "http://xxxxx.net/api/get_auth_url.xml?akey=$myAppKey" ?>" target="_blank">Login</a>

2)

<?xml version="1.0" encoding="UTF-8"?>
-<auth_token> <url>http://xxxxx.net/api/start_auth?token=7x1x81xfxxxxx5bxxxx3dx45trsda</url> <token>7x1x81xfxxxxx5bxxxx3dx45trsda</token> </auth_token>

ただし、私は PHP に比較的慣れていないため、返されたこの XML を処理し、Web サイトを "http://xxxxx.net/api/start_auth?token=7x1x81xfxxxxx5bxxxx3dx45trsda" にリダイレクトするための正しいアプローチが何であるかはわかりません。リダイレクトされたら、ユーザーにログインして必要な情報を取得させることができます。

以下に示すようにcurlメソッドを使用してみましたが、curl_exe()の結果を解析し、解析された値を使用してサイトをリダイレクトすることに慣れていません。私はまだそれを機能させることができませんでしたが、返された XML を処理し、そのシリアル化された XML オブジェクトを使用して Web サイトをリダイレクトする PHP ネイティブの方法がもっとあるはずです。

<?php $ch = curl_init(); ?>
<?php curl_setopt($ch, CURLOPT_URL, "http://xxxxx.net/api/get_auth_url.xml?akey=$myAppKey"); ?>
<?php curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); ?>
<?php $store = curl_exec($ch); ?>
<?php curl_close($ch); ?>

どんなフィードバックでも大歓迎です。WL

4

2 に答える 2

3

XML文字列を取得したら、 SimpleXMLElementを試してみます(ちなみに、これにも使用curl_exec()します)...

$authTokenXml = new SimpleXMLElement( $store );
$authUrl = $authTokenXml->url

$authUrlhttpリダイレクトヘッダーを送信するなど、好きなように使用できるようになりました。

header('Location: ' . $authUrl);

または別の CURL を使用します。

それが役立つことを願っています!

(ところで、すべての行に -Tags は必要ありません<?php。実際には、php ブロックを開始します)

于 2012-05-20T22:00:39.130 に答える
0

SimpleXML ドキュメントから始める

于 2012-05-20T22:00:11.867 に答える