ゲストユーザ関係のまとめ

[まとめページに戻る](https://qiita.com/Keiji_otsubo/items/60afc2a8d211b6f7d89f)
[まとめA～M](https://qiita.com/Keiji_otsubo/items/f3ddedee6793bf1576f8)

-------------------------

+ [エクスペリエンスビルダーで「リードフォーム」コンポーネントを使用したい](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000J5l5v)

:::note
以下の設定を行う

+ ゲストユーザーにリードの読み取りと作成のアクセス権を付与する
+ ワークスペース > 管理で「ゲストユーザーにパブリック API へのアクセスを許可する」を有効にする
+ ゲストユーザーにリードタブへのアクセスを許可する
+ ゲストユーザーにリードフィールドへの読み取り/アクセスを許可する

リードフォームコンポーネントで訪問者情報を取得する
https://help.salesforce.com/s/articleView?id=sf.networks_microsites_configure_lead_form.htm&type=5

https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000LHttUSAT

ゲストユーザーへの必要なユーザー権限およびオブジェクト権限の付与
https://help.salesforce.com/s/articleView?id=sf.ls_guest_user_permissions.htm&type=5
:::

+ [ゲストユーザが レコード アクセスには、ゲスト共有ルールも必要です。](https://qiita.com/Keiji_otsubo/items/f4f885d83851126de682)


----------------------

+ [ゲストユーザのセキュリティポリシーとタイムライン](https://qiita.com/Keiji_otsubo/items/416985493cc6a5956f52)

+ [ゲスト ユーザー レコード アクセス開発のベスト プラクティス](https://www.learnexperiencecloud.com/article/Guest-User-Record-Access-Development-Best-Practices)
+ [ゲストユーザがカスタムオブジェクトにinsertするApex処理をwithout sharing→with sharingにしたら、エラーになりinsertできませんでした。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007TsHCn)

:::note
Custom Apex and Implementation with Guest Users

Custom code, if well written, would have user-mode most of the time. But with a guest user, you won’t be able to update records without system mode. All APIs used by the guest user should be tested to make sure they are working. Even custom Apex inside an Integration Procedure or implementing VlocityOpenInterface may require solution change and refactoring.

https://help.salesforce.com/s/articleView?id=ind.v_admin_custom_apex_and_implementation_with_guest_users_28310.htm&type=5

カスタム Apex とゲストユーザーによる実装

カスタム コードは、適切に記述されていれば、ほとんどの場合ユーザー モードになります。ただし、ゲスト ユーザーの場合、システム モードなしではレコードを更新できません。ゲスト ユーザーが使用するすべての API をテストして、機能していることを確認する必要があります。統合プロシージャ内のカスタム Apex や VlocityOpenInterface の実装でも、ソリューションの変更とリファクタリングが必要になる場合があります。
:::

+ [ポータルのゲスト ユーザーはコンテンツ バージョンを挿入できません](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX000000oF53)

:::note
現在、サイト ゲスト ユーザーは ContentVersion を挿入できません。
以下の IdeaExchange リンクを確認し、この機能に賛成票を投じてください。 

https://ideas.salesforce.com/s/idea/a0B8W00000GdcM1UAJ/site-guest-user-Should-be-able-to-access-content

また、このヘルプ記事も参照してください: https://help.salesforce.com/s/articleView?id=000394368&type=1

+ [Site Guest Users Cannot Insert or Query ContentDocument or ContentDocumentLink Objects](https://www.linkedin.com/pulse/site-guest-users-cannot-insert-query)
:::



+ [ゲストユーザーのスケジュールを設定する](https://help.salesforce.com/s/articleView?id=sf.ls_set_up_guest_users.htm&type=5)
+ [アクセスを拡張するための共有ルールがあります (実際、ユーザー レコードの [共有] ボタンをクリックして確認したところ、レコードがサイトのゲスト ユーザーと共有されていることが確認できました)。ゲスト ユーザーのデバッグ ログにはエラーは表示されず、ユーザーのレコード取得要素からのデータが表示されません。興味深いことに、ユーザーの取得要素には、サイト ユーザーに属するゲスト サイト ユーザー レコード (ゲスト ライセンス タイプ) のみが表示されています。ゲスト ユーザーは、標準の Salesforce ライセンス タイプとパートナー コミュニティ ライセンス ユーザー レコードを読み取れないのではないかと思います。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007eqxO5)

+ [私たちのコミュニティには、ゲスト ユーザー向けのグローバル アクションを備えたサポート問い合わせフォームがあります。パブリック フォームが失敗したときに通知を受け取る方法はありますか?  ](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX000000Txq9)

:::note
これを画面フローに置き換えて、そこでエラー ロジックを処理することができます。 
:::


# 設定

+ [ゲストユーザをアンケートで認証なしで実行する方法](https://qiita.com/Keiji_otsubo/items/bd2d273f88bdea57d02f)
+ [ゲストユーザーにサイトアクセスを提供する](https://help.salesforce.com/s/articleView?id=sf.mfs_appointment_assistant_guest_users.htm&type=5)
 ゲストユーザーは、ログインしなくてもExperience Builderサイトを表示できます。パブリックサイトへのすべてのゲスト訪問者は、同じゲストユーザーレコード（サイトごとに1つ）を共有し、同じアクセスレベルを持ちます。

+ [ルールを共有した後、ゲストユーザーはルックアップレコードを表示できません](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000HDsHE)
+ [Guest User Access to Omniscript](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000HDxwo)
+ [ゲストサイト（Force.com サイト）権限について](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000Je5Jw)
+ [Email not being sent from Guest User Profile:](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000NE6TASA1)

:::note
I have set Organization wide address to singleEmailMessage seems to have resolved the issue:

```
   OrgWideEmailAddress[] owea = [select Id from OrgWideEmailAddress where Address =       'testorgaddress@test.com']; //replacing testorgaddress@test.com with my org wide              email address

 

    if ( owea.size() > 0 ) {

       mail.setOrgWideEmailAddressId(owea.get(0).Id);

}   
```
Without these lines of code it was working for any logged in user, But Guest User seems to be having some kind of trouble.

これらのコード行がなければ、ログインしているユーザーであれば正常に動作していましたが、ゲスト ユーザーには何らかの問題が発生しているようです。
:::

+ [This user is the default owner of records created by guest users and can’t be deactivated.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V000077jwPu)

:::note
I found out that I had two more sites only visibles switching to Salesforce classic. Get into the classic setup and search for sites, then check there the default owner of the records and choose an active one.

https://salesforce.stackexchange.com/questions/366951/deactivate-a-user-who-is-no-longer-default-owner-of-records-created-by-guest-use

Salesforce クラシックに切り替えてのみ表示されるサイトがさらに 2 つあることがわかりました。クラシック セットアップを開始してサイトを検索し、そこでレコードのデフォルトの所有者を確認し、アクティブな所有者を選択します。
:::

+ [Guest user can not upload files in community](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Ji0bt)

:::note
I got this to work in flow builder. After enabling the guest user upload, make sure the flow is running in system mode, then upload the file using the guest user Id as the related Id as mentioned above Then loop through the attachments and reassign the related Id to the records they need to be assigned to. 

https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A96seSAB

これをフロービルダーで動作させるようにしました。ゲスト ユーザーのアップロードを有効にした後、フローがシステム モードで実行されていることを確認し、上記のようにゲスト ユーザー ID を関連 ID として使用してファイルをアップロードします。次に、添付ファイルをループして、必要なレコードに関連 ID を再割り当てします。に割り当てられた。
:::

+ [AppExchange から GUAR アプリケーションをインストールしたところ、エクスペリエンス クラウド ページのゲスト ユーザーがアクセスできるタスク レコードがあることを示すレポートが生成されました。レコードを見つけることができません。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000GzLqp)

:::note
https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A7YzYSAV
:::


# うまくいかない

+ [パブリックサイトの選択リストフィールドのドロップダウンリストオプションが表示されないゲストユーザー](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000BrCUd)
+ [ファイルを削除するゲスト ユーザー](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000HEZbA)
+ [Community Guest users are not supported in the default org.](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000JzflqSAB)
 This is expected because a guest / unauthenticated user cannot make chatter posts. You have to be authenticated to make a chatter post.
これは、ゲスト/認証されていないユーザーが Chatter 投稿を行うことができないためです。 Chatter 投稿を行うには、認証を受ける必要があります。

+ [ゲスト ユーザーはポートフォリオのダッシュボードとレポートを表示できない](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A91JU)

+ [guest user cannot read records from asset object ：　共設定をした後に別のエラー](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007aiP8F)

:::note alert
 Unexpected error: null asd 5007E00000HCun0QAD asdUpdate failed. First exception on row 0 with id 5007E00000HCun0QAD; first error: 

INSUFFICIENT_ACCESS_OR_READONLY, insufficient access rights on object id: []
:::





# Experience Builder + Flow

+ [Regarding building personal portfolio on salesforce](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JgSls)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/037f93a8-a6e3-fade-3168-91f088be366d.png)


:::note
The System Permissions -> Run Flow inside the permission set should be active, to see the flow

https://salesforce.stackexchange.com/questions/328605/permission-set-flow-access-available-flows-is-empty
:::

+ [Allow Guest Users to Access Flows](https://help.salesforce.com/s/articleView?id=sf.rss_flow_guestuser.htm&type=5)

+ [Chatter でのゲストユーザーの投稿](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000PkBKr)

:::note
エラーメッセージと、フローが自動起動として機能する方法のために、これをバイパスする方法が見つかりませんでした。フローのおしゃべり部分を削除したところ、正常に動作するようになりました。
:::

+ [ゲスト ユーザーが記事のフィードバックを閲覧できるようにするにはどうすればよいですか?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007UuE5eSAF)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/088ba2fe-f07c-2bc4-6778-1d73c38c5e4b.png)

ゲストユーザ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/68bb89c0-eb3f-a06b-56be-bf8a58fea31b.png)

:::note
ゲスト ユーザーは記事に投票できず、認証されたユーザーのみが投票できます。
:::