iSw*_*oop 8 iphone yahoo objective-c ios yahoo-api
我正在开发一个应用程序,我必须使用雅虎帐户登录.我已经通过这个链接并按照程序进行操作.但是我无法在认证后回到我的应用程序.谷歌搜索后我在这里找到了答案.他说"在你的info.plist中添加一个URL方案文件与YOUR_APP_ID_OR_BUNDLE_ID"我做了同样的,但无法从雅虎重定向到我的应用程序.如果任何人工作,请帮助我.谢谢提前.
这就是我在URL Schemes中所做的
其中JCzOzd44是我的应用ID.
在创建应用程序时在yahoo帐户中.我应该在"应用程序域"中给出什么

我没有使用它Yahoo! API,但oauth它的工作原理如下:
在您的应用中创建网址方案.您可以在项目设置的"信息"部分(URL类型)中执行此操作.根据需要为方案命名,例如您的应用程序ID.
验证应用程序时,可以传递名为的参数oauth_callback.在这里,您必须传递刚创建的url方案的名称.
这应该是它 - 当雅虎方面的登录正常时,它将尝试打开为其获得的url方案注册的应用程序作为回调参数.
更新:
来自雅虎!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://"
Run Code Online (Sandbox Code Playgroud)
当然应该签署请求.
虽然有一点开销,但我找到了解决方案.步骤如下:1>在您自己的服务器中创建一个PHP脚本(比如命名为YRedirect.php).2>将以下代码粘贴在其中 -
CODE
<?php
$query = $_SERVER['QUERY_STRING'];
header("Location: com-mycompany-myapp://oauth-response?" . $query);
>
Run Code Online (Sandbox Code Playgroud)
"com-mycompany-myapp"是您的包标识符
3>使用YOUR_APP_ID_OR_BUNDLE_ID在info.plist文件中添加URL方案.就是这样,你就完成了身份验证问题.
在你的代码中
[self.session sendUserToAuthorizationWithCallbackUrl:@"http://yourdomain.com/YRedirect.php"];
Run Code Online (Sandbox Code Playgroud)
然后,从Info.plist文件中为您的iPhone应用程序注册自定义URL方案,然后设置服务器端脚本,通过您刚设置的URL方案将Safari重定向回应用程序.
感谢您提供有价值的信息.按照你的指示,我得到了auth和回调工作,php页面加载了应用程序.
| 归档时间: |
|
| 查看次数: |
2396 次 |
| 最近记录: |