我正在尝试使用Google+ SignIn创建新的ParseUser.虽然我能够从Google成功检索访问令牌,但我得到了一个ParseException(InvalidSession).我将发布几个相关的片段.
这就是我从谷歌获取AccessToken的方式
final String SCOPES = "https://www.googleapis.com/auth/plus.login ";
token = GoogleAuthUtil.getToken(
MainActivity.this,
Plus.AccountApi.getAccountName(mGoogleApiClient),
"oauth2:" + SCOPES);
Run Code Online (Sandbox Code Playgroud)
制作ParseUser
ParseUser.becomeInBackground(token, new LogInCallback()
{
public void done(ParseUser user, ParseException e)
{
Log.i(TAG, "makeParseUser"+"2");
if (user != null)
{
// The current user is now set to user.
/*
user.put("name", s1);
user.put("email",s6);
user.saveInBackground();
*/
}else
{
// The token could not be validated.
Log.i(TAG, "makeParseUser"+e.getLocalizedMessage());
}
}
});
Run Code Online (Sandbox Code Playgroud)
这个问题长期以来一直困扰着我,我似乎无法找到解决方案,我的Facebook Developer面板中的所有设置都已正确配置,站点URL,应用域和OAuth URL.
当我在iPhone上运行我的应用程序(我通过iTunes安装它)并单击身份验证按钮时,我已成功提示此屏幕:
但是,登录后,我面临一个空白的白色屏幕,而不是被重定向到我的main.html页面.
我正在使用OpenFB插件以及Parse和Facebook Graph API来验证和存储我的用户数据,这是我的登录代码:
的login.html:
$('.facebookLogin').click(function(){
Parse.User.logOut(); // log current user out before logging in
login();
});
function login() {
openFB.login(function(response) {
if(response.status === 'connected') {
console.log('Facebook login succeeded');
Parse.FacebookUtils.logIn("email", { // permission request to use email
success: function(user) {
if (!user.existed()) {
FB.api('/me', function(response) {
var firstName = response.first_name;
var lastName = response.last_name;
var email = response.email;
var user_id = response.id;
user.set("firstName",firstName);
user.set("lastName",lastName);
user.set("email",email);
user.save();
});
window.location.href= "main.html";
}
else { …Run Code Online (Sandbox Code Playgroud) 我在AWS Elastic Transcoder上创建了一个管道,我正在尝试使用它的api为它创建作业.这就是我正在做的事情.
Parse.Cloud.define("createJobOnElastic", function(request, response){
Parse.Cloud.httpRequest({
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=UTF-8',
'Accept': '*/*',
'Host': 'elastictranscoder.us-east-1.amazonaws.com:443',
'Content-Length': '300',
"x-amz-date": new Date().getTime()
},
url: 'https://aws.elastictranscoder.us-east-1.amazonaws.com:443/2012-09-25/jobs',
body:{
"Input":{
"Key":"fullViewLq1teqJ1Ym-nHGwcJtRuL-1433857991.895335.mp4",
"FrameRate":"auto",
"Resolution":"auto",
"AspectRatio":"auto",
"Interlaced":"auto",
"Container":"mp4"
},
"OutputKeyPrefix":"compressed/",
"Outputs":[
{
"Key":"fullViewLq1teqJ1Ym-nHGwcJtRuL-1433857991.895335.mp4",
"Rotate":"0",
"PresetId":"1351620000001-000030"
}
],
"PipelineId":"xxxxxxxxx-xxxx"
},
success: function(httpResponse) {
// console.log(httpResponse);
alert("Worked TRANCODER");
response.success();
},
error: function(httpResponse) {
// console.error(httpResponse);
alert("Did not work TRANSCODER");
response.error(httpResponse);
}
});
});Run Code Online (Sandbox Code Playgroud)
我可以看到我的网址可能不对,但那是因为我无法确定我应该从他们的文档中发送请求的网址:http://docs.aws.amazon.com/elastictranscoder/latest/developerguide /create-job.html#create-job-description
这是我作为回应得到的:
{"uuid":"7dd5e323-167f-fe75-ca64-0adeeebad099","status":0,"headers":{"Connection":"keep-alive","Content-Language":"en","Content-Length":"3871","Content-Type":"text/html","Date":"Tue, 09 Jun 2015 14:44:23 GMT","Mime-Version":"1.0","Server":"squid/3.1.19","Vary":"Accept-Language","X-Squid-Error":"ERR_DNS_FAIL 0"},"text":"Request …Run Code Online (Sandbox Code Playgroud) javascript httprequest amazon-web-services parse-platform amazon-elastic-transcoder
我让用户更改他的凭据.他键入了新的用户名,电子邮件和密码,我想:
ParseUser user = ParseUser.getCurrentUser();
user.setUsername("MY NEW NAME");
user.setEmail(email);
user.setPassword("MY NEW PW");
user.saveInBackground(...);
Run Code Online (Sandbox Code Playgroud)
所以呢?所以这个save()调用可能会因为很多原因而失败(例如:其他人已经使用了用户名).我可以说,在这种情况下,上述字段都没有得到更新,这是公平的:我显示错误,用户知道一切都出错了.
如果您注意到事情变得复杂,即使在之后ParseException,user上面会保留其脏字段,这些字段无法保存到服务器.即
//saveInBackground fails
//...
user.getUsername().equals("MY NEW NAME") // true!
Run Code Online (Sandbox Code Playgroud)
现在,我可以通过调用将这些字段恢复为正确的值user.fetch(),但这不适用于该password字段.
这是特别不需要的,因为任何未来的呼叫save()或此类呼叫(可能不会因为可能是完全不同的呼叫而失败)也会更新密码!即
//later
ParseUser user = ParseUser.getCurrentUser();
user.put("stuff");
user.save();
Run Code Online (Sandbox Code Playgroud)
这不仅会放"东西",还会将密码更改为"我的新PW" ..用户不知道.
有没有办法重置本地password字段,除此之外fetch()不起作用?我知道我可以通过三种不同的查询来保存用户名,电子邮件和密码,但这不是我案例的可能解决方案.
我有一个PFQueryCollectionViewController填充图像,一切正常在iOS 8.xx及以下,但当我使用Xcode 7 Beta在iOS 9上运行应用程序时,所有图像都是空白的.
这是我用来从Parse中加载图像的代码 PFQueryCollectionViewController
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object {
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
UIImageView *imageView = (UIImageView*)[cell viewWithTag:1];
if([object objectForKey:@"image"] != NULL) {
[[object objectForKey:@"image"] getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error) {
UIImage *thumbnailImage = [UIImage imageWithData:imageData];
UIImageView *thumbnailImageView = [[UIImageView alloc] initWithImage:thumbnailImage];
imageView.image = thumbnailImageView.image;
}];
}
return cell;
}
Run Code Online (Sandbox Code Playgroud)
和
- (PFQuery *)queryForCollection {
PFQuery *query = [PFQuery queryWithClassName:@"Class"];
...
return query;
}
Run Code Online (Sandbox Code Playgroud) 我有parse.com数据库.我在名为"text"的表中有列.我必须找到具有与AND条件匹配的多个键的文本.我尝试了各方面.我试着用:
PFQuery *query=[PFQuery queryWithClassName:@"post"];
[query whereKey:@"text" containedIn:Array];
Run Code Online (Sandbox Code Playgroud)
要么
PFQuery *query=[PFQuery queryWithClassName:@"post"];
[query whereKey:@"text" containsAllObjectsInArray:Array];
Run Code Online (Sandbox Code Playgroud)
要么
PFQuery *query=[PFQuery queryWithClassName:@"post"];
for (NSString *str in filtersArray) {
[query whereKey:@"text" containsString:str];
}
Run Code Online (Sandbox Code Playgroud)
但没有人工作.如果解析sdks支持或不支持,请指导我吗?如果是,我怎样才能达到效果.提前谢谢了 :)
EIDT:
例如,我在数据库中有三个条目作为文本:
"我有一个数据输入"
"我在数据中找不到任何东西"
"我怎样才能做到这一点"
如果通过"i"和"this"它应该返回条目(3)
如果传递"i"和"data"它应该返回条目(1,2)
如果通过"我"和"其他"它应该什么也不返回
我正在创建一个人可以通过Facebook,Twitter或电子邮件注册的应用程序.在寻找朋友时,它可以链接他的facebook,Twitter账号.
问题是,如果一个人已经与Facebook或Twitter链接,我无法将其与其他帐户链接,因此每次该人需要寻找朋友时,都需要再次登录.
有没有办法我可以同时为同一个用户提供authdata,所以当用户链接twitter和facebook时,它会显示朋友而无需再次登录?
谢谢!
我搜索过,但是我找不到熟悉的答案,所以......
我将编写一个类来处理解析方法,如更新,添加,提取和删除.
func updateParse(className:String, whereKey:String, equalTo:String, updateData:Dictionary<String, String>) {
let query = PFQuery(className: className)
query.whereKey(whereKey, equalTo: equalTo)
query.findObjectsInBackgroundWithBlock {(objects, error) -> Void in
if error == nil {
//this will always have one single object
for user in objects! {
//user.count would be always 1
for (key, value) in updateData {
user[key] = value //Cannot assign to immutable expression of type 'AnyObject?!'
}
user.saveInBackground()
}
} else {
print("Fehler beim Update der Klasse \(className) where \(whereKey) = \(equalTo)")
}
} …Run Code Online (Sandbox Code Playgroud) 我终于解决了这个问题并将Xcode更新为7.1.但现在我在调试器中收到所有这些警告.我的应用程序不使用UIWebViews.我使用Parse作为后端,但这是我第一次遇到这些问题.任何人有任何想法如何解决这个问题?非常感谢.谢谢!
UIAccessibility Error adding -[DOMNode _moveRight:withHistory:]
UIAccessibility Error adding -[DOMNode _moveLeft:withHistory:]
UIAccessibility Error adding -[DOMNode _updateSelectionWithTextRange:withAffinityDownstream:]
UIAccessibility Error adding +[DOMNode safeCategoryBaseClass]
UIAccessibility Error adding -[UIWebFormAccessory _accessibilityLoadAccessibilityInformation]
UIAccessibility Error adding -[UIWebFormAccessory initWithFrame:]
UIAccessibility Error adding +[UIWebFormAccessory safeCategoryBaseClass]
UIAccessibility Error adding +[UIWebFormSelectPeripheral safeCategoryBaseClass]
UIAccessibility Error adding +[UIWebFormSelectPeripheral createPeripheralWithDOMHTMLSelectElement:]
UIAccessibility Error adding -[UIWebSelectSinglePicker _accessibilityServesAsFirstElement]
UIAccessibility Error adding +[UIWebSelectSinglePicker safeCategoryBaseClass]
UIAccessibility Error adding -[UIWebSelectMultiplePicker _accessibilityServesAsFirstElement]
UIAccessibility Error adding +[UIWebSelectMultiplePicker safeCategoryBaseClass]
UIAccessibility Error adding -[UIWebPlugInView webPlugInStart]
UIAccessibility Error adding +[UIWebPlugInView safeCategoryBaseClass]
Run Code Online (Sandbox Code Playgroud) 我有使用Parse Rest推送utf8编码消息的问题,这是我的身体
{"where":{"$and":[{"email":{"$in":["phaxxx@gmail.com","nhungxxx@gmail.com"]}},{"deviceType":{"$in":["ios"]}}]},"data":{"alert":"TEST: Gi?m 40% Khi Mua Sách Harry Potter","sound":"default","page_type":"cms_key","page_value":"harry-potter"}}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何编码utf8消息?
parse-platform ×10
ios ×4
android ×3
xcode ×2
account ×1
facebook ×1
google-plus ×1
html5-apps ×1
httprequest ×1
iphone ×1
javascript ×1
objective-c ×1
parse-server ×1
react-native ×1
swift ×1
uiimageview ×1