我正在尝试在Facebook上发布/分享图片。首先,我使用以下方式获得发布权限:
NSArray *permissionsNeeded = @[@"publish_actions"];
[FBRequestConnection startWithGraphPath:@"/me/permissions"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error){
NSDictionary *currentPermissions= [(NSArray *)[result data] objectAtIndex:0];
NSMutableArray *requestPermissions = [[NSMutableArray alloc] initWithArray:@[]];
for (NSString *permission in permissionsNeeded){
if (![currentPermissions objectForKey:permission]){
[requestPermissions addObject:permission];
}
}
if ([requestPermissions count] > 0){
[FBSession.activeSession requestNewPublishPermissions:requestPermissions
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
if (!error) {
[self shareDataOnFacebook];
} else {
NSLog(@"%@", error.description);
}
}];
} else {
[self shareDataOnFacebook];
}
} else {
NSLog(@"%@", error.description);
}
}];
如果我对会话进行 NS 记录,我得到的是:
FBSessionStateOpenTokenExtended,loginHandler: 0x15eab870,appID: 719202928131376,urlSchemeSuffix:,tokenCachingStrategy:,expiration date:4001-01-01 00:00:00 0000,refresh date:2014-05-10 12:57:41 0000,attempted refresh date:0001-12-30 00:00
现在,如果我尝试使用以下方式发布图片:
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"{image-url}", @"url",
nil
];
/* make the API call */
[FBRequestConnection startWithGraphPath:@"/me/photos"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
/* handle the result */
}];
我收到错误消息:
错误域=com.facebook。sdk Code=5“操作无法完成。(com.facebook.sdk error 5.)”UserInfo=0x15e4f370{com.facebook.sdk:HTTPStatusCode=403,com.facefacebook.sdk:ParsedJSONResponseKey={body={error={Code=200;message=“(#200)Permissions error”;type=OAuthException;};};代码=403;},com.facebook。sdk:ErrorSessionKey=,过期日期:4001-01-01 00:00:00 0000,刷新日期:2014-05-10 12:57:41 0000,尝试刷新日期:0001-12-30 00:00:0 0000,权限:(状态,权限,“publish_actions”)
甚至,如果我再次获得权限时,“publish_actions”不在列表中。请指导我做错了什么。
有没有其他方式分享/发布带有描述的图片(没有任何链接,这是分享对话所必需的)?
这对我有用。
NSArray *requestPermission = @[@"publish_actions"];
// Open session with public_profile
[FBSession openActiveSessionWithPublishPermissions:requestPermission defaultAudience:FBSessionDefaultAudienceEveryone allowLoginUI:YES
completionHandler:
^(FBSession *session, FBSessionState state, NSError *error) {
if (!error){
// If the session was opened successfully
if (state == FBSessionStateOpen){
// Your code here
NSLog(@"session opened");
[self postToFacebook];
} else {
// There was an error, handle it
NSLog(@" error on opening session = %@",error);
}
}
}];
-(void)postToFacebook{
NSLog(@"post to facebook");
// Put together the dialog parameters
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Sharing Tutorial", @"name",
@"Build great social apps and get more installs.", @"caption",
@"Allow your users to share stories on Facebook from your app using the iOS SDK.", @"description",
@"https://developers.facebook.com/docs/ios/share/", @"link",
@"http://i.imgur.com/g3Qc1HN.png", @"picture",
nil];
// Make the request
[FBRequestConnection startWithGraphPath:@"/me/feed"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
// Link posted successfully to Facebook
NSLog(@"result: %@", result);
} else {
// An error occurred, we need to handle the error
// See: https://developers.facebook.com/docs/ios/errors
NSLog(@"%@", error.description);
}
}];
}
在敲了几个小时的头之后,我想通了。似乎您需要进入“developers.facebook.com”状态“下的”应用程序设置”
问题内容: 我有一个(可创建一个页面,可以通过 Manage Jenkins 进行访问。 我有一些要使用验证的表单字段。如果要在(具有描述符的)页面上执行此操作,则可以在描述符中使用一种简单的方法。 如果我直接向其中添加类似的方法,则实际上可以直接通过URL myPage / myMethod访问, 但是该方法仅返回404,显然我需要发送表单值。 我遇到的一个潜在解决方案是CustomDescri
我尝试使用Swagger编辑器指定GET方法的响应。但是,当我在Swagger UI中查看时,JSON没有显示响应。 我的宣言大摇大摆: 在Swagger UI中,写入响应类(状态200)的框
我正在尝试将Okta集成到一个已经实现了Spring Security性的spring应用程序中。我已经成功地将spring saml添加到项目中,并且能够成功地登录到应用程序。不过,它使用的是默认的java密钥存储,我想按照文档中的建议使用另一个jks(http://docs.spring.io/spring-security-saml/docs/current/reference/html/s
我正在使用记录编辑器读取COBOL文件。很好,不过有个问题。第3个字段(列,固定宽度)描述记录的类型。这样做,也为该行的其余部分布局。 如何告诉RecordEditor筛选应用于所选布局的行?
我正在尝试获取脸书页面事件。我已经检查了应用程序ID和应用程序密钥是否正确,但我仍然不断收到错误。 错误消息: 未捕获的OAuthException:无效的OAuth访问令牌签名。扔进去
我试图得到所有登录到我的应用程序的用户的朋友。 我无法使用此API[朋友]: https://developers.facebook.com/docs/graph-api/reference/v2.0/user/friends 因为这个API只返回任何使用过该应用程序发出请求的朋友。 所以我发现了这个API[最友好的]: https://developers.facebook.com/docs/g