I'm trying to upload an image as profile picture using WhatsApp Cloud API *.

After creating an application using WhatsApp Cloud API I'm not allowed to access neither using the regular application nor using Business Application. It says something like "try again in one hour". So I have to implement everything using the API.

After reading the docs and importing Postman Endpoints I found the one called Business Profiles > Update Business Profile

https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/whatsapp_business_profile

It has a field "profile_picture_url"and I have tried POSTing media https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/media and then with the given ID y used https://graph.facebook.com/{{Version}}/{{Media-ID}} to get the URL but it didn't work. The rest of the information is updated successfully

{     "messaging_product": "whatsapp",     "address": "",     "description": "Simple Bot",     "email": "...@gmail.com",     "websites": [         "https://..."     ],     "profile_picture_url": "https://lookaside.fbsbx.com/..." } 

However if I try to send someone using the ID and the endpoint https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/messages it works fine. And if I use Download Media Content with the URL in Postman it works fine too.

I don't know if I have misunderstood something or if it can't be done using the API.

I'm trying to remove IP addresses from a campaign via the API. I'm able to add them fine using ipblockinfo and campaignCriterionOperation but I can't seem to remove it.

The build for the operation looks like :

 $campaignCriterion = new CampaignCriterion( [             'ip_block' => new IpBlockInfo( [                 'ip_address' => $item[ 'ip' ]             ] ),             'negative' => true, // setting it to negative             'campaign' => ResourceNames::forCampaign( $customerId, $item[ 'campaignId' ] )         ] ); 

and to remove it I'm using :

$campaignCriterionOperation->setRemove( $campaignCriterion ); 

Which is then sent via a mutateCampaignCriteria.

When I use the set remove I get a object to string error. So I looked into the SDK and saw that yes setRemove want's a resource output only as I'm guessing it's about removing the operation not actually removing the ip or criterion specified. Does anyone have any guidance on where to look or how to do a removal of an ip as Googles docs on this aren't very descriptive.

Inside the IPBlockInfo there is also a Clear IP address but this is purely to unset the variable in the object before sending the operation.

Iam trying to use gupshup whatsapp business api through template.

My template expects a link url for the attachment therefore iam building an url through buffer in nodejs and having given response type for the link url as this.

       statusCode: 200,        headers: {            "content-type": "application/pdf",            'content-disposition': 'inline; filename=suresign.pdf',            'Accept-Ranges': 'bytes',            'Content-Length': buffer.length,        },        body: buffer.toString('base64'),        isBase64Encoded: true    }``` Iam able to generate message id ```{"messageId":"8427c6aa-8140-4d79-a835-ba8f44f6c867","status":"submitted"}``` but in gupshup callback response im getting error as this ```{    "app": "SureCredsLIVE",    "timestamp": 1654016941604,    "version": 2,    "type": "message-event",    "payload": {        "id": "8427c6aa-8140-4d79-a835-ba8f44f6c867",        "type": "failed",        "destination": "918553220750",        "payload": {            "code": 1011,            "reason": "Invalid Media Size"        }    } }```

I need to make inactive assets linked to a specific ad, i.e. to get the same result through the api as in the google ads web interface. Example by following the link

I've tried it myself in two ways

  1. I wanted to try and delete the asset itself, but I found a description in the documentation that the asset cannot be deleted using AssetService because it does not support a remove operation
  2. Ok, I tried to remove an ad using AdGroupAdService using sample (using python but this is not crucial) but got an message about this operation not for an ad with type APP_AD message: "Cannot remove an adgroup ad with this ad type."

In the end, I found information that in order to stop an asset, the link between the asset and the ad has to be removed. But nowhere is there any example of what this is or how to do it. Any help with this problem would be greatly appreciated.

I couldn't run instrumental(UI) tests after Google Ads dependency implementation. The runner crashed every time; I tried to implement it to the dummy project because initially, I thought that the problem was in my project but it seemed not I got the same result on the dummy project, So merely my instrumental tests didn't run. I have inspected the Google Ads dependency and spotted that the root cause was google ads-lite which is used by the google ads library. I tried a few variants such as change runner, run it on x86, x64platforms, change lib version, changeGradle` version, change AGP version. But I can't find a solution.

Steps to reproduce:

Create a dummy project(runner: "androidx.test.runner.AndroidJUnitRunner") Run an instrumental test to make sure that was passed successfully implement com.google.android.gms:play-services-ads: 20.5.0(or latest version) Run an instrumental test it should be stuck because of the runner crash