我正在创建一个应用程序,其中用户可以创建帐户然后随后登录的唯一方法是通过OAuth.
我只有一个 Oauth2身份验证源.
理想情况下,用户会在我的应用上按一个按钮,询问他们的Oauth凭据,如果他们不是用户,则开始创建用户个人资料.如果他们是用户,请将其登录.
在facebook文档中,它说我们可以指定:
的AppID |揭秘
作为应用程序access_token
但是,当访问https://developers.facebook.com/tools/access_token/时 ,App令牌会有所不同.这是AppID | Randomnumber形式
我们应该使用哪个?PHP SDK使用'秘密'版本 - 我们需要调整吗?
我已经制作了一个简单的应用程序,目的是使用我个人网站上的PHP脚本发布到Facebook页面.
经过多次试验和错误,似乎工作得很好.我可以通过我的网站登录我的应用程序,发布内容,然后返回我的网站.一切都很好.
一个奇怪的是,尽管一切正常,我在日志中收到此错误:
OAuthException:验证访问令牌时出错:会话无效,因为用户已注销.
我用Google搜索了错误,从我看到的情况来看,大多数人都遇到了超时或意外退出.解决方案范围包括如何维护登录会话.
但是,我认为我的情况与我见过的其他问题有所不同,因为尽管有错误,我似乎仍然登录.我可以根据需要多次发布到我的Page Wall.
每次我发布到墙上时似乎都不会生成错误.它似乎每三到四个中出现一个,但它不一致,我无法确定模式.
由于一切正常,我可以忽略错误信息,但在我看来这是不好的做法.我以后不想偷偷咬我.
任何帮助或建议将不胜感激.
驱动Facebook交互的代码与我的CMS集成在一起,因此它的某些部分会散布,和/或可能因为我必须自定义的部分而模糊不清.但是,我相信这个函数有PHP的互动.如果这足以帮助确定问题的根源,请告诉我:
private function executeFacebookPost()
{
// Facebook posts are limited to 420 characters. Links and pictures
// are separate.
$bodyOption = $this->mention->getOption(Action::$BODY);
if (count($bodyOption) == 0)
{
$fbPost = '';
}
else
{
$fbPost = $bodyOption[1];
}
$linkOption = $this->mention->getOption(Action::$LINK_TO);
if (count($linkOption) == 0)
{
$link = '';
}
else
{
$link = $linkOption[1];
}
// Use require_once() and not require() because you might be doing
// some facebook action …Run Code Online (Sandbox Code Playgroud) 所以我在foursquare上创建了一个应用程序,并使用本教程让用户接受我的FourSquare帐户申请.
现在,在我这样做后,我得到了印象,我可以访问他们的签到历史记录.我试过拉他们的USER_ID并用它$friend = $fsObj->get('/users/USER_ID_HERE');来获取用户信息.但是,当我访问他们的签到$friend->response->user->checkins我只看到他们最新和最近的签到.然而,他们的数量大于一.
我假设有些东西搞砸了他们不是我的应用程序的授权用户但在他们的个人资料 - >设置中它向他们显示他们的帐户已附加到我的应用程序.
任何帮助将非常感谢如何访问他们的签入历史!谢谢!:)
我不得不格式化并从昨天开始,我正在努力让我的项目重新开始运行.
我使用路标库进行OAuth身份验证.我导入了我的项目,Eclipse在文本编辑器中没有给我任何错误.但是,当我运行我的应用程序并点击oauth代码时,我的应用程序会发生以下错误:
04-25 15:07:04.485: E/dalvikvm(344): Could not find class 'oauth.signpost.commonshttp.CommonsHttpOAuthConsumer', referenced from method com.myapp.app.ws.WebService.addHeaders
Run Code Online (Sandbox Code Playgroud)
该项目似乎找到了jar文件就好了.它们显示在Java Build Path - > Libraries选项卡中.
我不太确定我在这里缺少什么.想法?
我正在检索联系人
https://www.google.com/m8/feeds/contacts/default/full/(optional contactId)
但我需要通过电子邮件而不是id来获取联系人.
有办法吗?我已经尝试解决这个问题一段时间了,在文档中找不到任何帮助..
我一直在这里寻找答案:
https://developers.google.com/google-apps/contacts/v3/#retrieving_contacts_using_query_parameters
这有什么不对?
选项https://twitter.com/oauth/request_token 401(未经授权)jsOAuth-1.3.4.js:483 XMLHttpRequest无法加载 https://twitter.com/oauth/request_token.Access-Control-Allow-Origin.Object不允许使用Origin"http:// localhost:8080"
<!DOCTYPE html>
<html>
<head>
<!--
A simple example of PIN-based oauth flow with Twitter and jsOAuth.
This is mostly based on/copied from <http://log.coffeesounds.com/oauth-and-pin-based-authorization-in-javascri>.
Get jsOAuth at <https://github.com/bytespider/jsOAuth/downloads>
-->
<meta charset="utf-8">
<title>jsOauth test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="jsOAuth-1.3.4.js"></script>
<style type="text/css" media="screen">
</style>
<script>
$(document).ready(function() {
var options = {
consumerKey: 'YOUR_CONSUMER_KEY',
consumerSecret: 'YOUR_CONSUMER_SECRET'
};
var requestParams;
var accessParams;
var oauth = OAuth(options);
oauth.get('https://twitter.com/oauth/request_token',
function(data) {
console.dir(data);
window.open('https://twitter.com/oauth/authorize?'+data.text);
requestParams = data.text
},
function(data) { …Run Code Online (Sandbox Code Playgroud) 我需要知道QuickBooks在线删除客户 API请求的未散列,未网址编码的OAuth签名是什么样的.
注意事项
?methodx=delete.我是这样做的节目,但它似乎不起作用,或遵循x=y范式.
POST
&
https://qbo.intuit.com/qbo36/resource/customer/v2/502724020/7
&
methodx=delete
&
oauth_consumer_key=9382hrq2li3rh9a8dshf98fh2fhe
&
oauth_nonce=2WM7s
&
oauth_signature_method=HMAC-SHA1
&
oauth_timestamp=1344528249
&
oauth_token=a3helrikhiu23lfqiweahcnlik324hr2o3ihrfewewf
&
oauth_version=1.0
&
<?xml version="1.0" encoding="utf-8"?><Customer xmlns:ns2="http://www.intuit.com/sb/cdm/qbo"
xmlns="http://www.intuit.com/sb/cdm/v2"><Id>7</Id><SyncToken>0</SyncToken></Customer>
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Scribe成功验证并向Twitter发布非媒体消息.这很容易,我发布的第一条测试消息没有任何问题.但是,我似乎根本无法发布照片.我已经回顾了Twitter在这里和这里发布媒体的说明.
Github上的所有Scribe/Twitter示例都是针对非媒体帖子的.如果有人能提供一个如何通过Scribe将照片发布到Twitter的可靠示例,那就太棒了!
我特别有两个问题:
1)我的帖子不会通过授权.我试过模仿上面发布的例子,但似乎没什么用.
2)当将图像从byte []转换为字符串时,我似乎只能在它停止之前获得4113个字符.根据我的理解,这远远低于String可以容纳的字符数.
这是我如何提取照片:
// GET PHOTO FILE AND FILE LENGTH
// INSTANTIATE UPLOAD VARIABLE WITH FILE LENGTH
File file = new File(photo); // ("photo" is a string path to the photo file)
int fileLength = (int) file.length();
uploadFile = new byte[fileLength];
// CREATE BUFFER INPUT STREAM OF FILE
BufferedInputStream inputStream;
try {inputStream = new BufferedInputStream(new FileInputStream(file));}
catch (FileNotFoundException e)
{
inputStream = null;
Toast.makeText(this.getApplicationContext(), "Buffer input stream error!", Toast.LENGTH_LONG).show();
}
// READ …Run Code Online (Sandbox Code Playgroud) 我正在尝试执行以下操作.
当我尝试使用oAuth访问服务时,如果我收到错误,因为我使用了错误的密钥,我想不显示错误消息,而是将用户发送到身份验证页面.
但是使用try catch fn不起作用.
这是我的代码:
$url = 'https://api.soundcloud.com/me.json?'.http_build_query(array(
'oauth_token' => $token,
));
//
try{
$user = json_decode(file_get_contents($url));
return array(
'uid' => $user->id,
'nickname' => $user->username,
'name' => $user->full_name,
'location' => $user->country.' ,'.$user->country,
'description' => $user->description,
'image' => $user->avatar_url,
'urls' => array(
'MySpace' => $user->myspace_name,
'Website' => $user->website,
),
);
}
catch(Services_Soundcloud_Invalid_Http_Response_Code_Exception $e)
{
log_message('error', 'EXCEPTION: '.$e);
return FALSE;
}
Run Code Online (Sandbox Code Playgroud)
我希望这可以返回用户数组或FALSE.
有任何想法吗?
oauth ×10
php ×4
android ×2
oauth-2.0 ×2
access-token ×1
api ×1
authlogic ×1
checkin ×1
contacts ×1
devise ×1
facebook ×1
foursquare ×1
google-api ×1
javascript ×1
scribe ×1
search ×1
signature ×1
signpost ×1
twitter ×1
xml ×1