Status Like & Comment

127.0.0.1/wordpress/wp-json/buddypress/v1/activity 
 
 
{
"component": "activity", // Component indicating the type of activity (activity stream).
"type": "activity_update", // Type of activity (status update).
"content": "This is a Facebook-like status update 2!", // Content of the status.
"user_id": 2, // User ID of the person posting the status update (dynamic user ID).
"primary_link": "http://127.0.0.1/wordpress/members/akkas/", // Optional: URL to the user's profile.
"avatar_urls": { // Avatar URLs (Gravatar or custom avatar).
"full": "https://www.gravatar.com/avatar/a5db4e946574f4841faf2dad0d99c635?s=150&d=mm", // Full avatar image.
"thumb": "https://www.gravatar.com/avatar/a5db4e946574f4841faf2dad0d99c635?s=50&d=mm" // Thumbnail avatar image.
},
"xprofile": { // Optional: XProfile data for user (such as name and profile fields).
"groups": [
{
"name": "Base",
"id": 1,
"fields": [
{
"name": "Name",
"id": 1,
"value": {
"raw": "Akkas Ali", // User's full name (raw value).
"unserialized": ["Akkas Ali"], // Serialized version.
"rendered": "<p>Akkas Ali</p>" // Rendered HTML.
}
}
]
}
]
},
"mention_name": "akkas", // Mention name for the user (username or handle).
"friendship_status": false, // Indicates if the user is friends with others.
"friendship_status_slug": "", // Slug for the friendship status (optional).
"member_types": [], // Member types, if applicable.
"link": "http://127.0.0.1/wordpress/members/akkas/", // Link to user's BuddyPress profile.
"_links": { // Links related to the member's API.
"self": [
{
"href": "http://127.0.0.1/wordpress/index.php/wp-json/buddypress/v1/members/2",
"targetHints": {
"allow": ["GET", "POST", "PUT", "PATCH", "DELETE"]
}
}
],
"collection": [
{
"href": "http://127.0.0.1/wordpress/index.php/wp-json/buddypress/v1/members/"
}
]
}
}





BuddyPress allows editing and deleting activity posts (statuses or any posts in the activity stream). You can use the Activity API for these actions. Below are the detailed API endpoints and examples for editing and deleting posts.


1. Editing an Activity Post

BuddyPress allows you to edit an activity post (status or any content in the activity stream).

API Endpoint to Edit an Activity Post:

PUT /wp-json/buddypress/v1/activity/{activity_id}

Request Headers:

Authorization: Bearer <YOUR_AUTH_TOKEN>
Content-Type: application/json

JSON Request Body:

{
  "content": "This is the updated content of the activity post.",
  "user_id": 2  // The user ID who is editing the activity
}

Explanation:

  • activity_id: The ID of the activity post you want to edit.
  • content: The updated content of the activity post.
  • user_id: The ID of the user performing the edit (optional if authenticated).

2. Deleting an Activity Post

BuddyPress also allows you to delete an activity post (status or any content in the activity stream).

API Endpoint to Delete an Activity Post:

DELETE /wp-json/buddypress/v1/activity/{activity_id}

Request Headers:

Authorization: Bearer <YOUR_AUTH_TOKEN>
Content-Type: application/json

JSON Request Body:

  • No body is required for the delete request.

Example using Axios for Editing an Activity Post (React):

import axios from "axios";

const editActivityPost = async (activityId: number, newContent: string) => {
  const token = localStorage.getItem("authToken");
  const userId = 2;  // Replace with the authenticated user's ID

  try {
    const response = await axios.put(
      `http://127.0.0.1/wordpress/wp-json/buddypress/v1/activity/${activityId}`,
      { content: newContent, user_id: userId },
      {
        headers: {
          Authorization: `Bearer ${token}`,
        },
      }
    );

    console.log("Activity edited successfully:", response.data);
  } catch (error) {
    console.error("Error editing activity:", error);
  }
};

Example using Axios for Deleting an Activity Post (React):

import axios from "axios";

const deleteActivityPost = async (activityId: number) => {
  const token = localStorage.getItem("authToken");

  try {
    const response = await axios.delete(
      `http://127.0.0.1/wordpress/wp-json/buddypress/v1/activity/${activityId}`,
      {
        headers: {
          Authorization: `Bearer ${token}`,
        },
      }
    );

    console.log("Activity deleted successfully:", response.data);
  } catch (error) {
    console.error("Error deleting activity:", error);
  }
};

Response Example for Editing an Activity Post:

Response for Editing Activity:

{
  "id": 123,
  "user_id": 2,
  "content": "This is the updated content of the activity post.",
  "date_created": "2025-01-01T12:00:00",
  "date_updated": "2025-01-01T12:30:00",
  "_links": {
    "self": [
      {
        "href": "http://127.0.0.1/wordpress/wp-json/buddypress/v1/activity/123"
      }
    ]
  }
}

Response for Deleting Activity:

{
  "message": "Activity deleted successfully"
}

Important Notes:

  • activity_id: You need to know the ID of the activity post you want to edit or delete. This can be fetched from the response of the activity stream.
  • content: The content to be updated for the activity post.
  • Authorization token: Make sure to pass the Bearer token in the Authorization header for authenticated users.
  • Permissions: Only the user who created the activity post or an administrator can edit or delete the activity.

These API endpoints can be used to implement features for editing and deleting posts in your BuddyPress-powered application.





Here are the BuddyPress API endpoints for liking/unliking an activity (status or post) and for fetching who liked a post, as well as the list of comments associated with the post.


1. Like an Activity (Post)

API Endpoint:

POST /wp-json/buddypress/v1/activity/{activity_id}/likes

Request Payload:

{
  "user_id": <user_id>  // ID of the user liking the activity (optional if authenticated)
}

Response:

{
  "id": <like_id>,
  "user_id": <user_id>,
  "activity_id": <activity_id>,
  "date_created": "YYYY-MM-DDTHH:MM:SS",
  "_links": {
    "self": [
      {
        "href": "http://127.0.0.1/wordpress/wp-json/buddypress/v1/activity/{activity_id}/likes/{like_id}"
      }
    ]
  }
}

2. Unlike an Activity (Post)

API Endpoint:

DELETE /wp-json/buddypress/v1/activity/{activity_id}/likes

Request Payload:

{
  "user_id": <user_id>  // ID of the user unliking the activity (optional if authenticated)
}

Response:

{
  "message": "Like removed successfully"
}

3. Fetch Who Likes an Activity (Post)

API Endpoint:

GET /wp-json/buddypress/v1/activity/{activity_id}/likes

Response:

[
  {
    "id": <like_id>,
    "user_id": <user_id>,
    "activity_id": <activity_id>,
    "date_created": "YYYY-MM-DDTHH:MM:SS",
    "_links": {
      "self": [
        {
          "href": "http://127.0.0.1/wordpress/wp-json/buddypress/v1/activity/{activity_id}/likes/{like_id}"
        }
      ]
    }
  },
  ...
]

4. Fetch Comments for an Activity (Post)

API Endpoint:

GET /wp-json/buddypress/v1/activity/{activity_id}/comments

Response:

[
  {
    "id": <comment_id>,
    "content": "This is a comment on the activity.",
    "user_id": <user_id>,
    "activity_id": <activity_id>,
    "date_created": "YYYY-MM-DDTHH:MM:SS",
    "_links": {
      "self": [
        {
          "href": "http://127.0.0.1/wordpress/wp-json/buddypress/v1/activity/{activity_id}/comments/{comment_id}"
        }
      ]
    }
  },
  ...
]

Important Notes:

  • Replace activity_id with the actual ID of the activity (post or status).
  • Replace user_id with the ID of the user performing the action (liking, unliking, or commenting).
  • Replace like_id and comment_id with the IDs specific to the like or comment action.

These are the BuddyPress API endpoints to interact with likes and comments for activity posts.

 

 

 

Here are the additional BuddyPress API endpoints for editing and deleting comments on an activity (status or post):


5. Edit a Comment on an Activity (Post)

API Endpoint:

POST /wp-json/buddypress/v1/activity/{activity_id}/comments/{comment_id}

Request Payload:

{
  "content": "Updated content of the comment"
}

Response:

{
  "id": <comment_id>,
  "content": "Updated content of the comment",
  "user_id": <user_id>,
  "activity_id": <activity_id>,
  "date_created": "YYYY-MM-DDTHH:MM:SS",
  "_links": {
    "self": [
      {
        "href": "http://127.0.0.1/wordpress/wp-json/buddypress/v1/activity/{activity_id}/comments/{comment_id}"
      }
    ]
  }
}

6. Delete a Comment on an Activity (Post)

API Endpoint:

DELETE /wp-json/buddypress/v1/activity/{activity_id}/comments/{comment_id}

Request Payload:

{
  "user_id": <user_id>  // ID of the user deleting the comment (optional if authenticated)
}

Response:

{
  "message": "Comment deleted successfully"
}

Important Notes for Edit and Delete Operations:

  • Replace activity_id with the actual ID of the activity (post or status).
  • Replace comment_id with the ID of the comment being edited or deleted.
  • Replace user_id with the ID of the user performing the edit or delete operation (optional if authenticated).
  • Edit Comment: The payload for editing a comment only requires the updated content (content) field.
  • Delete Comment: To delete a comment, the user must have permission to delete it. If a user is the author of the comment or has appropriate admin privileges, they can delete it.

These endpoints allow you to manage comments on BuddyPress activity posts by editing or deleting them as needed.

 



Comments

Popular posts from this blog

Frida Server Setup And Audit Syscalls of Android Application

ডপলার ক্রিয়া

Biot-Savart এর সূত্র (৪)