Facebook Marketing API : Sharing Custom Audiences - facebook

I'm trying to create, add users, remove users to custom audiences and then share those audiences with other accounts. I have gotten all of these working except for the sharing part.
The api docs seem very vague on how to actually do this. Here is what it says:
Share your custom audience with business objects at
'/custom-audience/share_with_objects'
Does anyone know how to do this through the API? I imagine you'd need the AD_ACCOUNT_ID and the CUSTOM_AUDIENCE_ID in some capacity.
for reference that quoted line above is from here https://developers.facebook.com/docs/marketing-api/audiences-api
under the header Building a Custom Audience
Thanks for the help.

I am not entirely sure what you want to do but the documentation says how you can Create and Share a custom audience with other advertiser accounts.Reference here. You have to POST on this endpoint /{custom_audience_id}/adaccounts and specify the owner ad account and the recipient ad account. Please, check the documentation for more information. Hope this helped.

As of 2018; Custom Audiences can now be shared only between Businesses (it is mandatory for both parties to have BusinessManager)
How to Share Custom Audience Lists
Both entities must have a Business Manager
Share Custom Audiences between Business Managers
Since 2018, in order to share a Custom Audience between Business
Managers, such businesses should establish an audience sharing
relationship as follows. You need Business Manager admin permission to
request a relationship to share an audience. If two Business Managers
have already established the relationship, then an advertiser can
directly share the audience with the other business. See also
Reference, Custom Audience and Reference, Custom Audience Shared
Account Info.
And while marketing-api docs have improved a bit, but still completely lack the get-started-in-5-min crispness
To create a relationship, make this call, to a specific custom_audience_id:
POST https://graph.facebook.com/v7.0/{custom_audience_id}/adaccounts?adaccounts=[<ad_account_id>]&relationship_type=[<relationship_type>]
and while nowhere they've specified what is this relationship_type, I peeked into their java-business-sdk and found this
public static enum EnumRelationshipType {
#SerializedName("AD_MANAGER")
VALUE_AD_MANAGER("AD_MANAGER"),
#SerializedName("AGENCY")
VALUE_AGENCY("AGENCY"),
#SerializedName("AGGREGATOR")
VALUE_AGGREGATOR("AGGREGATOR"),
#SerializedName("AUDIENCE_MANAGER")
VALUE_AUDIENCE_MANAGER("AUDIENCE_MANAGER"),
#SerializedName("OTHER")
VALUE_OTHER("OTHER"),
;
..

Related

How to map social credentials with custom ones

My company has userbase of course, but I want to allow users to login and use my applications with their social accounts e.g. Outlook, Facebook, Gmail. Something that is usually not clear to me when I read resources on the Internet on the topic is how to map the social credentials with ones in our database? I know we should use an API platform or something like that, but the user identity part is not clear to me.
You basically need to, as you noted, tap into the provided response and transform or link or provision it to existing identities in your own userbase. A lot of this depends on your method of delegating authentication to external provides and things they expose back to you as part of the user profile. You basically need to grab the user profile, parse it and then determine which field can be used to link that profile to an existing account, and then establish the authentication session based on the final result.
Here is a link to a technical walkthrough that describes the same process with an SSO solution: https://apereo.github.io/2018/04/20/cas-delegated-authn-account-linking/

Is it possible to use youtube analytics Api in that way?

Hi i create application that is common to youtube and i`ve got some questions. I use google login(oAuth), so i keep in my database all things required to use google APIs for every user that wants to log in. The question is if i can use(is it possible and legal) google analytics to get info(like gender of people which shows his/her video or age or region) about every user that is loged in to my application and show it to another users which using my application ?
edit:
I do not know if you understood me well, user log in to my app with his google account, i have in my database his google token, etc. In my application all users have got youtube account and now what i want to do is that if you are log in, you can see user`s statistics from youtube(like the gender of people who watch his/her video and what is thier age) for any user registered in my app. There is a youtube analyse api, which alow you to get your account stats, and if i have access to someone`s google account(i keep toke in my datbase), i couldnt just use it to request that analyse api for every user and in that way get access to their stats. And another question is if i get data in the way that i described(of course if it is possibe), is it legall, if i can display such an info to other users not only to the owner of the account?
Thanks for help
Is it legall, if i can display such an info to other users not only to the owner of the account? Thanks for help
If you are authenticating a user to get access to their Private data. It is your responsibility as a developer to ensure that their data remains private. You should not be sharing data between your users without there express permission.
If the data you are accessing is public then you are allowed to display that data with anyone.
Remember when you created your google developer console account you agreed to this Google APIs Terms of Service
b. Compliance with Law, Third Party Rights, and Other Google Terms of Service
You will comply with all applicable law, regulation, and third party rights (including without limitation laws regarding the import or export of data or software, privacy, and local laws). You will not use the APIs to encourage or promote illegal activity or violation of third party rights. You will not violate any other terms of service with Google (or its affiliates).
d. User Privacy and API Clients
You will comply with all applicable privacy laws and regulations including those applying to PII. You will provide and adhere to a privacy policy for your API Client that clearly and accurately describes to users of your API Client what user information you collect and how you use and share such information (including for advertising) with Google and third parties.
You may also want to read Privacy policy

How to make an api call anonymously with Sylius-standard?

I'm looking for a way with Sylius to dynamically display the product list. Like asking the server for a specific set of products (search with parameters I suppose) asynchronously.
The doc seems to suggest the use of oauth authentication is mandatory but it's not what I'd like, or at least not systematically. So my question is, can I and how can I make an api call for "public" parts like product list but anonymously?
Thank you.
From the documentation :
Sylius has the OAuth2 authorization configured. The authorization process is a standard procedure. Authorize as admin and enjoy the API!
User has to have the ROLE_API_ACCESS role in order to access /api resources
So unless you create your own public api set to display products informations this is not possible with base Sylius api.
You can use the SyliusShopApiPlugin, which is currently in development. With it you can make anonymous and public API calls, e.g.:
/shop-api/taxons/t-shirts/products/?channel=US_WEB
to get all products in the t-shirts category.
I didn't find yet any documentation, but you can check the tests, e.g. https://github.com/Sylius/SyliusShopApiPlugin/blob/master/tests/Controller/ShowProductCatalogApiTest.php to get more examples.

Creating Custom Audience in Facebook marketing api

I am an student and trying to use Facebook marketing api for one of my school project. I am trying to write a program in python to create custom audience in Facebook. I am really confused on how I should be going forward with this.
I created an Ads App. I used this app credentials to connect.
my_app_id = 'my_app_id'
my_app_secret = 'my_app_secret'
my_access_token = 'my_access_token'
FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
audience = CustomAudience(parent_id='act_my_app_id')
audience[CustomAudience.Field.subtype] = CustomAudience.Subtype.custom
audience[CustomAudience.Field.name] = 'Test'
audience.remote_create()
Token access was generated for ads_management and ads_read. However, I get this error
Application does not have the capability to make this API call.
Then I created a Sandbox Ad Account and used its credentials to create the custom audience. I did not get any error but I do not know where I should go to see the custom audience I created. I understand that Sandbox account is not for production but I think I should be able to see my custom audience somewhere.
I am not sure whether the approach I took is correct or not and I highly appreciate if someone could provide me a direction on what should I do to create a custom audience on Facebook. Also, if you find my documentation unclear, please let me know and I will try to add more relevant stuffs. Thank you.
First thing to notice is that you should be using your Ad Account as the parent of the Audience, i.e.:
my_adaccount = 'act_1234';
audience = CustomAudience(parent_id=my_adaccount);
instead of
audience = CustomAudience(parent_id='act_my_app_id');
Another thing is that your app may not have those permissions, you have to ask for Ads Management Basic Access. For more, check the section "Apply for Basic" here: https://developers.facebook.com/docs/marketing-api/access

Does Salesforce's REST API have a service accounts

I'm trying to interact with the Salesforce REST API for an organisation, and was wondering if it had any notion of Service Accounts or Application Owned Accounts. I can't find any mention of it in the documentation, but maybe they use different nomenclature.
I'd like to enable some form of domainwide delegation of authority, so users aren't faced with the pop up requesting access to their data. This is an internal app, only for this particular organisation.
No, there are not service accounts. There are 'Chatter' user licenses that are free but have reduced functionality: http://www.salesforce.com/chatter/getstarted/?d=70130000000tRG7&internal=true#admin
FAQ: http://www.salesforce.com/chatter/faq/