0 レビュー
1 回答
php-ウェブページからAndroidアプリに戻るにはどうすればよいですか?
ライブAPIデータを使用する最初のAndroidアプリをAndroidStudioで作成しようとしています。 認証するために、 FoursquareDevのOAuth2.0の説明に従います。 まず、これにより、ユーザーはログインしてアプリを承認できます。承認されると、サーバー上のhttp://example.com/apps/apptest/index.phpにある次のファイルを含むphpファイルにリダイレクトされます。
<?php
//INIT
header('Content-Type: application/json');
$response = array();
//AUTH
ini_set("allow_url_fopen", 1);
$clientId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$clientSecret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$redirectUrl = urlencode("http://example.com/apps/apptest/index.php");
$code = htmlspecialchars($_GET["code"]);
$url = "https://foursquare.com/oauth2/access_token?client_id=";
$url .= $clientId;
$url .= "&client_secret=";
$url .= $clientSecret;
$url .= "&grant_type=authorization_code&redirect_uri=";
$url .= $redirectUrl;
$url .= "&code=";
$url .= $code;
$json = file_get_contents($url);
$obj = json_decode($json);
$access_token = $obj->access_token;
$url2 = "https://api.foursquare.com/v2/users/self?oauth_token=" . $access_token . "&v=" . date("Ymd");
$json2 = file_get_contents($url2);
$obj2 = json_decode($json2, true);
$userId = $obj2['response']['user']['id'];
// some mysql things I skipped in this code snippet
if (success) {
$response["success"] = 1;
$response["message"] = $access_token;
}
else {
$response["success"] = 0;
$response["message"] = "ERROR";
}
echo json_encode($response);
?>
現在の問題は、WebページからAndroidアプリに戻れないことです。 私が欲しいのは、foursquare APIを使用できるように、何らかの方法でアプリにユーザーIDやトークンを付与することです。 私はこれを修正するために一日中努力してきました。 -最初は、phpファイルにhtmlリンクを入れて、アプリにリダイレクトしようとしましたが、機能しませんでした -次に、Androidの非同期タスクでこの自作の「API」を「消費」しようとしましたが、うまくいきませんでした。
オプションが足りなくなりましたが、このプロジェクトを止めたくないので、次に何を試すことができるか教えてくれる人はいますか?
よろしくお願いします!
わからない
0
レビュー
答え :
解決策:
ディープリンクで問題を解決できると思います。
https://developer.android.com/training/app-indexing/deep-linking.htmlをご覧ください
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。