Api 尝试在外部站点上显示用户照片时权限不足

Api 尝试在外部站点上显示用户照片时权限不足,api,salesforce,token,external,Api,Salesforce,Token,External,我有这种情况。我正在尝试显示来自外部站点的用户照片,有关远程站点的所有配置都已设置。我在组织a中创建了一个已连接的应用程序,并从组织B中检索组织a中的用户 所有这些都有效,但是我无法显示这些用户的照片,因为要实现这一点,我必须能够使用ConnectApi.UserProfiles.GetPhoto方法,我现在正在执行该方法,但我一直收到“权限不足”错误。我试着像这样通过邮递员拿到AccessToken 这会将我重定向到登录站点,以便我可以使用凭据登录到我的组织。之后,我得到一个AccessTo

我有这种情况。我正在尝试显示来自外部站点的用户照片,有关远程站点的所有配置都已设置。我在组织a中创建了一个已连接的应用程序,并从组织B中检索组织a中的用户

所有这些都有效,但是我无法显示这些用户的照片,因为要实现这一点,我必须能够使用ConnectApi.UserProfiles.GetPhoto方法,我现在正在执行该方法,但我一直收到“权限不足”错误。我试着像这样通过邮递员拿到AccessToken

这会将我重定向到登录站点,以便我可以使用凭据登录到我的组织。之后,我得到一个AccessToken

接下来,我希望能够使用AccessToken从外部站点的用户那里获取照片,但是仍然会收到相同的错误消息“权限不足”。我错过什么了吗?提前谢谢

根据:
解决方案相当简单,但这不起作用

我有点不知所措。您有一些应用程序想要登录到Salesforce并从中提取图像?或者您想从Salesforce呼叫并从外部应用程序提取图像?对于第一个,您可能需要“连接的应用程序”。但您需要“远程站点设置”或“命名凭据”仅用于呼叫

我假设这是选项1

有很多方法可以登录到SF、SOAP API(只有用户名+密码)、REST API(有很多OAuth2选项,有用户名+密码或用户名+JWT,或者只有OAuth2客户端id,用户以交互方式登录到SF,您看不到密码)。。。听起来你已经过了这个阶段了

成功的登录响应看起来有点像这样(取决于使用的方法):

您应该从中获取
访问令牌
(这是您的会话id。它总是以组织id开始,与设置->公司信息比较)和
实例url
(这是您应该发送任何后续请求的地方。不再调用登录网关:login.salesforce.com、test.salesforce.com或mydomain.my.salesforce.com)。如果您获得“权限不足”,我认为您没有更改端点

您可以通过向收到的
id
端点发送
GET
来测试登录是否正常。它将为您提供有关用户的OpenId信息

下面是我通过“Authorization:Bearer”请求获取OpenId数据的步骤

又一个相同的头球,我有我丑陋的杯子:

如果您想要其他人的图片-查询类似于
/services/data/v48.0/query?q=选择SmallPhotoUrl,则Id='005…'
的用户的FullPhotoUrl应起作用。检查字段


关键是使用新端点并在头中传递会话id。您甚至可能会发现它更易于使用(也基于REST)

是的,正如您所说,我有一个已连接的应用程序。我在一个组织中,正在尝试从另一个组织检索用户。是的,我得到的响应与您得到的非常相似,我得到了访问令牌。我正在使用connectApi.UserProfiles.getPhoto方法来实现这一点,这是因为我一直获得的权限不足错误。我会尝试正如你所指出的那样。你不是“ConnectApi”吗用于访问来自同一组织而非另一组织的数据的类?因此,如果需要,您可以为Chatter构建自己的UI?您可能会获得insuf.特权,因为此组织中不存在具有此ID的用户/文件。丢弃它们或使用connectapi,但在要从中提取照片的组织中,公开一些自定义的
@RestResource,@HttpGet
class&然后从另一个组织调用它们?可能会比大量的网络轮番访问性能更好。对了,我已经通过查询找到了来自另一个组织的用户。我遇到的问题是ConnectApi.UserProfiles类的getPhoto方法有问题。这可能行得通,我会尝试一下。
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"issued_at":"1278448832702",
"instance_url":"https://yourInstance.salesforce.com/",
"signature":"0CmxinZir53Yex7nE0TD+zMpvIWYGb/bdJh6XfOH6EQ=",
"access_token":"00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmbRcgKFmxOtvxjTrKW19ye6PE3Ds1eQz3z8jr3W7_VbWmEu4Q8TVGSTHxs",
"token_type":"Bearer"}
{
  "totalSize" : 1,
  "done" : true,
  "records" : [ {
    "attributes" : {
      "type" : "User",
      "url" : "/services/data/v48.0/sobjects/User/(redacted)"
    },
    "SmallPhotoUrl" : "https://(redacted)/profilephoto/7293L0000008Tfq/T",
    "FullPhotoUrl" : "https://(redacted)/profilephoto/7293L0000008Tfq/F"
  } ]
}