8

ログインにYahooアカウントを使用する必要があるアプリに取り組んでいます。私はこのリンクを通過し、そこにあった手順に従いました.しかし、認証後にアプリに戻ることができません.グーグルの後、私はここで答えを見つけました.ここで彼は「あなたのinfo.plistにURLスキームを追加してください. YOUR_APP_ID_OR_BUNDLE_ID のファイル" 私も同じことをしましたが、yahoo からアプリにリダイレクトできませんでした。

これは、URLスキームで行ったことですここに画像の説明を入力

ここで、JCzOzd44 はアプリ ID です。

アプリの作成中にyahooアカウントで「アプリケーションドメイン」に何を指定すればよいですか

ここに画像の説明を入力

4

2 に答える 2

5

少しオーバーヘッドがありますが、解決策を見つけました。手順は次のとおりです。 1> 自分のサーバーで PHP スクリプトを作成します (たとえば、YRedirect.php という名前を付けます)。2>次のコードを貼り付けます-

CODE
<?php
$query = $_SERVER['QUERY_STRING'];
header("Location: com-mycompany-myapp://oauth-response?" . $query);
>

「com-mycompany-myapp」はバンドル識別子です

3> info.plist ファイルに YOUR_APP_ID_OR_BUNDLE_ID を使用して URL スキームを追加します。以上で、認証の問題は完了です。

あなたのコードで

[self.session sendUserToAuthorizationWithCallbackUrl:@"http://yourdomain.com/YRedirect.php"];

次に、Info.plist ファイルから iPhone アプリケーション用のカスタム URL スキームを登録し、サーバー側スクリプトをセットアップして、セットアップした URL スキームを介して Safari をアプリケーションにリダイレクトします。

この貴重な情報をありがとう。あなたの指示に従って、認証とコールバックが機能し、phpページがアプリをロードします。

于 2013-10-02T10:52:19.343 に答える
5

私はまだ動作しYahoo! APIませんでしたが、oauthそのように動作します:

  • アプリで URL スキームを作成します。これは、プロジェクト設定 (URL タイプ) の情報セクションで行うことができます。アプリ ID など、任意の名前をスキームに付けます。

  • アプリを認証するときに、という名前のパラメーターを渡すoauth_callbackことができます。ここでは、作成したばかりの URL スキームの名前を渡す必要があります。

これで問題ありません。Yahoo 側でログインが成功すると、コールバック パラメータとして取得した URL スキームに登録されているアプリを開こうとします。

アップデート:

Yahoo!から API ドキュメント- これは、コードのどこかで oauth トークンを要求するときに行う呼び出しです (コールバックとして URL スキームを入力しました。これは次のようになります)。

https://api.login.yahoo.com/oauth/v2/  
  get_request_token?oauth_nonce=ce2130523f788f313f76314ed3965ea6  
  &oauth_timestamp=1202956957  
  &oauth_consumer_key=123456891011121314151617181920  
  &oauth_signature_method=plaintext  
  &oauth_signature=abcdef  
  &oauth_version=1.0  
  &xoauth_lang_pref="en-us"  
  &oauth_callback="JCzOzd44://"

もちろん、リクエストには署名する必要があります。

于 2013-09-30T10:29:36.403 に答える