2012-05-07 14 views
3

私はこのリンクに従っています:https://github.com/yahoo/yos-social-objcヤフーの連絡先を取得します。iphoneのヤフー連絡先を取得する

すべての資格情報(つまり、秘密鍵、コンシューマーキー、アプリID)を入力した後、ログイン用のブラウザに移動します。ログイン後、このメッセージが表示されます:

yahooの共有を完了するには! info with xxxx、xxxxにコードxxxxを入力してください

私はこのコードをどこに入力すればいいのですか?そして、私のアプリケーションにどのようにリダイレクトされますか?

ご協力いただければ幸いです。

+0

あなたがこれを理解しますか? – Kamilski81

答えて

0

CloudSpongeには、そのコンタクトインポーター用のiOSウィジェットがあります。あなたのiOSデバイスからour test drive pageにアクセスして、その動作を確認してください。

私はCloudSpongeで働いています。ご不明な点がありましたらお知らせください。

+0

ありがとうございます@ジェイ、私はあなたのアプリが動作することがわかりますが、どのようにその余分なウィンドウをやっている、何が舞台裏で起こっている? – Kamilski81

0

コールバックURLを指定する必要があります。デフォルトでは "oob"で、検証者コードを与えます。独自のWebビューを表示し、Webビューの代理人によって検証コードを監視する方が良いでしょう。あなたのやり方は次のとおりです。

YOSSession *yahooSession; //instance variable 

- (IBAction)yahooButtonAction:(UIButton *)sender { 

    yahooSession = [YOSSession sessionWithConsumerKey:YAHOO_CONSUMER_KEY 
              andConsumerSecret:YAHOO_CONSUMER_SECRET 
              andApplicationId:YAHOO_APP_ID]; 

    // try to resume a user session if one exists 
    BOOL hasSession = [yahooSession resumeSession]; 

    if(hasSession == FALSE) { 
     [self fetchSession]; 
    }else{ 
     [self sendRequests]; 
    } 
} 

-(void)fetchSession{ 

    // create a new YOSAuthRequest used to fetch OAuth tokens. 
    YOSAuthRequest *tokenAuthRequest = [YOSAuthRequest requestWithSession:yahooSession]; 

    // fetch a new request token from oauth. 
    YOSRequestToken *newRequestToken = [tokenAuthRequest fetchRequestTokenWithCallbackUrl:@"http://localhost"]; 

    // if it looks like we have a valid request token 
    if(newRequestToken && newRequestToken.key && newRequestToken.secret) { 
     // store the request token for later use 
     [yahooSession setRequestToken:newRequestToken]; 
     [yahooSession saveSession]; 

     // create an authorization URL for the request token 
     NSURL *authorizationUrl = [tokenAuthRequest authUrlForRequestToken:yahooSession.requestToken]; 
     [self presentWebViewForYahooWithAuthURL:authorizationUrl]; 
     //present it in webview 

    } else { 
     // NSLog(@"error fetching request token. check your consumer key and secret."); 
    } 
} 

-(void) presentWebViewForYahooWithAuthURL:(NSURL *)url{ 

    _yahooWebView = [[UIWebView alloc] initWithFrame:self.view.frame]; 
    _yahooWebView.delegate=self; //so that we can observe the url for verifier 
    [_yahooWebView loadRequest:[NSURLRequest requestWithURL:url]]; 
    [self.view addSubview:_yahooWebView]; 
} 

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ 

    NSString *requestString = request.URL.absoluteString; 
    if ([requestString rangeOfString:@"http://localhost"].length>0) { 
     NSRange verifierRange = [requestString rangeOfString:@"oauth_verifier="]; 
     if (verifierRange.length>0) { 

      verifierRange.location =verifierRange.location+verifierRange.length; 
      verifierRange.length = requestString.length-verifierRange.location; 
      NSLog(@"Verifier => %@", [requestString substringWithRange:verifierRange]); 
      yahooSession.verifier=[requestString substringWithRange:verifierRange]; 
      [self sendRequests]; 
     } 
     return NO; 
    } 
    else{ 
     return YES; 
    } 
} 
+1

こんにちは@AdityaSinha、あなたは正常にyahooで働いています。 yahooのユーザーの連絡先を取得したい初めてのアプリはクラッシュします。次回は試してみる。アプリは動作しており、Yahooの連絡先も取得されています。しかし、私はyahoo sdkの問題を見つけたいと思っています。可能であれば、完全なコードを提供してください。 –

+1

私は 'ApplicationId'パラメータも混同しています。 'YOSSession'を初期化するときのアプリケーションIDの値は? –

+0

また、コールバックの知識も提供してください。コールバックURLがアプリリダイレクトに使用されていることを理解しています。私たちは.plistで書きます。 myAppのように://しかし、YDNで新しいアプリケーションを作成すると、これはCallback URL(facebookのようなもの)を要求し、httpやhttpsから始まっていない文字列を受け付けません。 –

関連する問題