【问题标题】:Error in getting salesforce attachment Blob in iOS?在 iOS 中获取销售人员附件 Blob 时出错?
【发布时间】:2013-07-29 14:40:38
【问题描述】:

我正在开发 salesforce 附件应用程序。此应用程序显示特定对象的附件列表,例如潜在客户、联系人、机会、案例、活动。

我已成功将图片、视频、音频等附件从我的应用上传到 salesforce 帐户,并以 blob 格式从 salesforce 下载并成功显示在我的附件中。

为此,我在名为“salesforce attachment”的salesforce帐户上创建了应用程序,并生成了Consumer key,callback url,Client secrete成功。

然后我将此使用者密钥和回调 url 链接到我的 iOS 应用程序,我成功登录。

现在要访问附件 blob,首先我需要访问令牌。

为了获取访问令牌,我使用了 OAuth 2.0 令牌流。 在这个我传递了以下参数, grant_type=密码, client_id=consumerKey, 用户名=用户名, 密码=密码, Redirect_uri=callbackUrl,

通过传递此参数,我已经成功生成访问令牌。

每次我需要从 salesforce 获取附件数据时,我都会使用此令牌。

现在的问题是,当我使用创建了我的 Salesforce 应用程序的 Salesforce 帐户登录到我的 iOS 应用程序时,我的应用程序运行正常。

但是当我在我的 iOS 应用程序中使用另一个 Salesforce 帐户登录时。我得到的是附件列表,但不是附件 Blob

我收到以下错误,

{ "message" : "The requested resource does not exist", "errorCode" : "NOT_FOUND" }.

这是我获取附件 blob 的代码。

           NSString *blobPost = [NSString stringWithFormat:@"OAuth %@",access_token];

           NSString *urlString=[NSString       stringWithFormat:@"%@%@/Body",instance_url,attachmentUrl];

        NSURL *blobUrl=[NSURL URLWithString:urlString];

        [blobRequest setURL:blobUrl];
         [blobRequest setHTTPMethod:@"GET"];
       blobRequest setValue:blobPost forHTTPHeaderField:@"Authorization"];
       [blobRequest setValue:@"application/pdf" forHTTPHeaderField:@"Content-Type"];

      [NSURLConnection
       sendAsynchronousRequest:blobRequest
       queue:[[NSOperationQueue alloc] init]
       completionHandler:^(NSURLResponse *response,
                      NSData *data,
                     NSError *error)
       {

       if ([data length] >0 && error == nil)
       {


        //here i can get attachment data
         imageData=[[NSData alloc]initWithData:data];

        }
       else if ([data length] == 0 && error == nil)
       {
         NSLog(@"Nothing was downloaded.");
          [HUD hide:NO];

         }
         else if (error != nil){
             NSLog(@"Error = %@", error);
         }
       }];

我需要你的帮助。在此致谢

【问题讨论】:

    标签: iphone ios objective-c salesforce salesforce-service-cloud


    【解决方案1】:

    检查您用于登录其他帐户(沙盒或生产)的帐户类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-30
      • 2012-09-12
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多